undefined reference to `sqlite3_open'


今天我在编译sqlite3的代码时,出现对应的API找不到,未定义的现象,所以以此记录,累积经验。如下图:

undefined reference to `sqlite3_open'_第1张图片

其实这不是sqlite3安装的问题,而是在gcc编译的时候找不到对应的库或者头文件。

解决办法:

方法一:gcc testdate.c -o testdate -lsqlite3

如果方法一不行的话,请尝试另一种方法。

        方法二:gcc testdate.c -o testdate -lsqlite3 -L/usr/local/lib -I/usr/local/include -static -lpthread

编译参数介绍如下。

       -lsqlite3:用于链接SQLite的开发库。

       -lpthread:用于链接多线程库。

       -L/usr/local/lib:指示SQLite中链接库的路径,默认路径为/usr/local/lib,当然这个要根据自己的实际安装路径进行                                  配置。

       -I/usr/local/include:用于指示SQLite中sqlite3.h头文件所在的目录,默认路径为/usr/local/include,这个要根据自                                        己的实际安装路径进行配置。
       -static:用于静态编译,如果不加该选项,有时会提示无法找到动态链接库。这个选项根据自己的环境是否加上。

        




你可能感兴趣的:(数据库)