Linux的Qt编译出现👎 error: cannot find -lGL问题的解决方法
Qt是支持跨平台的C++图形用户界面应用程序开发框架,在一个平台上开发好应用程序可以在多个平台方便移植。
在将windows平台上开发的Qt界面程序移植到Linux Ubuntu系统中,在构建项目时出现以下编译问题: error: cannot find -lGL。
即,没找到libGL.so 库。以下两个方法都可以解决问题。
第一个解决方法:直接更新libgl1-mesa-dev
sudo apt-get install libgl1-mesa-dev

第二个解决办法:创建软链接
Ubuntu自带的 OpenGL 链接库在后缀中添加了版本号,例如

但是 Qt 在链接阶段查找的 OpenGL 链接库是不带版本号的。因此,可以在 /usr/lib/ 目录下为 OpenGL 链接库创建一个链接
sudo ln -s /usr/lib/x86_64-linux-gnu/mesa/libGL.so.1 /usr/lib/libGL.so
再次到Qt中构建项目,即可编译通过。
在将Windows上的Qt程序移植到Linux Ubuntu时遇到编译问题:error: cannot find -lGL。该问题是因为系统缺少libGL.so库。解决方法包括:1) 使用`sudo apt-get install libgl1-mesa-dev`安装缺失的库;2) 在/usr/lib/下创建软链接到带版本号的libGL.so.1。执行后重新构建项目,编译问题即可解决。

3383

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



