CentOS7下的QT5.9.4编译出现:cannot find -lsqlite3 和 collect2:error:ld returned 1 exit status 错误

错误提示:

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中找到。

至于其他的方法,以后遇到再完善。

你可能感兴趣的:(CentOS7下的QT5.9.4编译出现:cannot find -lsqlite3 和 collect2:error:ld returned 1 exit status 错误)