错误提示:
cannot find -lsqlite3
collect2:error:ld returned 1 exit status
今天在做一个关于使用SQLite3的API函数设计一个c++应用程序的实验时编译遇到了这个问题,代码无误呀,百度了好多方法,花很多时间也没弄好,最后随手一试,竟然好了,很无奈,在这里做一个总结吧。
1、代码编写问题,底栏第四个“compile”编译输出,查看具体原因类型 ,打开任务管理器,结束进程,重新打开QT。
2、系统缺少链接库(在redhat和Ubuntu系统中常见,自行百度找命令),终端执行以下三行命令,
sudo su
yum install mesa-libGL-devel mesa-libGLU-devel
yum install freeglut-devel
安装成功之后发现还是不行,那就试试重新安装SQLite3,
找到已经解压的安装包右键在终端打开,sudo su执行安装命令
sudo su
./configure
make(没反应 进行下一步)
sudo make install
sudo yum install sqlite-devel
sqlite3
出现下图,则证明安装完成
1.png
然后运行QT程序,发现错误消失了,可能是第一次安装的默认路径有问题,才会提示找不到-lsqlite3,我的就是这个问题,由于是新手,真正原因不清楚。
3、打开build-项目名开头的一个文件里找Makefile文件,找到CFLAG:开头的这行,删除 "-lgthread-2.0",或者直接查找“-lgthread-2.0”,删除,这个是一个网友的答案,但是笔者没有在Makefile中找到。
至于其他的方法,以后遇到再完善。
网友评论