情景概要:
当我在Linux下用C语言调用sqlite3数据库时,使用
gcc DB_use.c -o DB_use -lsqlite3
编译源文件时,出现报错
/usr/bin/ld: cannot find -lsplite3
问题解决:
我的问题正如下面这篇文章所说的情况,需要建立一个软连接,
/usr/bin/ld: cannot find -l**** 问题的解决办法
可是建完之后,仍会报错,后来找了其他的一些回答也都不起效果,最后死马当活马医,reboot重启了Ubuntu,回来后重新运行竟然神奇地成功了!!!
相关链接:
覆盖方法建立软连接
解决/usr/bin/ld: cannot find -lxxx
相关源文件代码 DB_use.c
#include <stdio.h>
#include <sqlite3.h>
#include <stdlib.h>
#define OK 0
#define NO -1
int create_table(sqlite3 * pdb){
char * sql = NULL;
char * errmsg = NULL;
int ret;
sql = "creat table class(id integer primary key,name txt);";
ret = sqlite3_exec(pdb,sql,NULL,NULL,&errmsg);
if(SQLITE_OK != ret){
perror("fail to creat table");
exit(1);
}
}
int main(){
sqlite3 * pdb = NULL;
int ret;
ret = sqlite3_open("classDB.db",&pdb);
if(SQLITE_OK != ret){
perror("fail to open database");
exit(1);
}
else{
printf("open database classDB.db successfully!\n");
}
create_table(pdb);
sqlite3_close(pdb);
return 0;
}
博主在Linux中用C语言操作SQLite3数据库时遇到编译错误,通过创建软连接仍无效,重启Ubuntu后问题神奇解决。文章分享了问题排查过程和解决方法,附带源代码示例。
987

被折叠的 条评论
为什么被折叠?



