使用Sqlite出现undefined reference to `sqlite3_open'...

使用Sqlite出现undefined reference to `sqlite3_open'...,第1张

概述假设你已经正确编译和安装了Sqlite,写个测试程序来测试: #include <stdlib.h> #include <stdio.h> #include "sqlite3.h" int main(void) {     sqlite3 *db=NULL;     char *zErrMsg = 0;     int rc;     rc=sqlite3_open("test1.db",&db) 假设你已经正确编译和安装了sqlite,写个测试程序来测试: #include <stdlib.h> #include <stdio.h> #include "sqlite3.h" int main(voID) { sqlite3 *db=NulL; char *zErrMsg = 0; int rc; rc=sqlite3_open("test1.db",&db); if(rc) { fprintf(stderr,"Can't open database: %s\n",sqlite3_errmsg(db)); sqlite3_close(db); exit(1); } else printf("open mydata successfully!\n"); sqlite3_close(db); return 0; } 用GCC来编译的时候总是会出现错误,编译的命令如下 gcc -static -o hello -lsqlite3 -L /usr/local/lib -I/usr/local/include hello.c 错误信息如下 /tmp/ccKeKpX9.o(.text+0x37): In function `main': : undefined reference to `sqlite3_open' /tmp/ccKeKpX9.o(.text+0x51): In function `main': : undefined reference to `sqlite3_errmsg' /tmp/ccKeKpX9.o(.text+0x73): In function `main': : undefined reference to `sqlite3_close' /tmp/ccKeKpX9.o(.text+0x9b): In function `main': : undefined reference to `sqlite3_close' collect2: ld returned 1 exit status 那么,恭喜你中招了。错误根本不在sqlITE也不在你的程序,而在GCC。Gcc的编译参数是有顺序的。正确的编译命令是: gcc -o hello -L /usr/local/lib -I/usr/local/include -static hello.c -lsqlite3 说实话,这么的一个小问题困扰了我一天的时间!真是菜啊~~~~~~ 总结

以上是内存溢出为你收集整理的使用Sqlite出现undefined reference to `sqlite3_open'...全部内容,希望文章能够帮你解决使用Sqlite出现undefined reference to `sqlite3_open'...所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/1174891.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-02
下一篇 2022-06-02

发表评论

登录后才能评论

评论列表(0条)

保存