今天在写一个网络编程项目的时候需要用到需要用到sqlite数据库进行数据操作,在编译时终端上显示了一些问题,如下:
/tmp/cc3HuO4B.o: In function `do_register':
server.c:(.text+0x93): undefined reference to `sqlite3_exec'
/tmp/cc3HuO4B.o: In function `do_login':
server.c:(.text+0x1fd): undefined reference to `sqlite3_get_table'
/tmp/cc3HuO4B.o: In function `do_query':
server.c:(.text+0x702): undefined reference to `sqlite3_exec'
/tmp/cc3HuO4B.o: In function `do_history':
server.c:(.text+0x8c7): undefined reference to `sqlite3_exec'
/tmp/cc3HuO4B.o: In function `main':
server.c:(.text+0x993): undefined reference to `sqlite3_open'
server.c:(.text+0x9a3): undefined reference to `sqlite3_errmsg'
collect2: ld returned 1 exit status
(说实话当时感觉挺傻逼的。。。。。)我以为没有包含sqlite3.h的头文件,结果检查了几分钟问题都还是存在,上了趟厕所才想起在使用sqlite数据库在编译时需要添加参数(如下):
gcc <filename.c> -lsqlite3