help ubuntu下sqlite的C API 调用问题
处理多日无果,请各位高手不吝赐教。 我用的是ubuntu 的操作系统 安装了eclipse+CDT 编程没有任何问题,最近想起来要数据库所以使用了sqlite 我使用了 apt-get install sqlite sqlite3 apt-get install libsqlite3-dev 这两条命令安装了sqlite。测试过后显示安装成功 但是这时候调用C API 时出现了问题。 虽然使用#include<sqilite3.h>不会报错,但是不能调用任何函数,不管是打开函数还是关闭数据库得函数都会出错。错误如下
**** Build of configuration Debug for project test3 ****
make all Building target: test3 Invoking: GCC C Linker gcc -o "test3" ./try3.o ./try3.o:在函数‘main’中: /home/hzy/workspace/test3/Debug/../try3.c:10:对‘sqlite3_open’未定义的引用 /home/hzy/workspace/test3/Debug/../try3.c:13:对‘sqlite3_errmsg’未定义的引用 /home/hzy/workspace/test3/Debug/../try3.c:14:对‘sqlite3_close’未定义的引用 /home/hzy/workspace/test3/Debug/../try3.c:19:对‘sqlite3_close’未定义的引用 collect2: 错误: ld 返回 1 make: *** [test3] 错误 1
**** Build Finished ****
我一开始觉得是eclipse的问题就在命令行里编译,可是错误相同,测试代码很简单,如下: #include <stdio.h> #include <sqlite3.h> int main( void ) { sqlite3 *db=NULL; char *zErrMsg = 0; int rc;
//打开指定的数据库文件,如果不存在将创建一个同名的数据库文件 rc = sqlite3_open("zieckey.db", &db); if( rc ) { fprintf(stderr, "Can't open database: %s\n", sqlite3_errmsg(db)); sqlite3_close(db); return 0; } else printf("You have opened a sqlite3 database named zieckey.db successfully!\nCongratulations! Have fun ! ^-^ \n");
sqlite3_close(db); //关闭数据库 return 0; } 选中工程 - 点右键 - 选 property - 选C/C++ Build - 选 setting - 选 linker ,加入 sqlite3(这时候不需要加 -l)
|