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");