最近在弄Sqlite3 中文字符的事情,写下这一系列的博客,记录一下
首先: 我的环境是 redhat6.5 sqlite 3.6.20
之前已经拿到了sqlite的动态库文件:
libsqlite3.so
libsqlite3.so.0
libsqlite3.so.0.8.6
和sqlite3.h 头文件
#include
#include
#include
int main(int argc, char**argv)
{
sqlite3 *db=NULL;
int len;
len = sqlite3_open("student.db",&db);
if( len )
{
fprintf(stderr, "Can't open database\n");
sqlite3_errmsg(db));
sqlite3_close(db);
exit(1);
}
else printf("You have opened a sqlite3 database named user successfully!\n");
sqlite3_close(db);
return 0;
}
编程基本没有大问题,但是在编译的时候,我遇到了问题,找不到sqlite3.h 的头文件,尴尬了
我的目录结构是
lib----libsqlite3.so
----libsqlite3.so.0
----libsqlite3.so.0.8.6
src----sqlite.c
include----sqlite3.h
首先,我的动态库不是放在系统默认的动态库目录下,需要手动链接动态库-L../lib 指定动态库的路径,
第二个就是手动指定头文件的路径 -I../include/
所以 整个的编译语句就是
gcc te.c -I../include/ -L../lib -lsqlite3