情景概要:
当我在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;
}