linux中Qt工程编译报错: error: 找不到 -lGL
2024-09-03
44
编译一个Qt项目报错:
Qt error: 找不到 -lGL
这是因为 Qt编译器找不到 OpenGL 的动态链接库(libGL.so)。 在大部分 Linux 发行版中都是默认安装OpenGL,包括 Ubuntu、CentOS 等,找不到该链接库一般都是路径不对,如果没有默认安装可以使用如下命令安装:
sudo apt install libopengl-dev -y
如果已有安装可以采取如下解决方法:
1、查找“libGL.so”文件的路径:
find /usr -name libGL*
2、如果能显示如下搜索结果:
/usr/lib/x86_64-linux-gnu/libGLU.so.1
/usr/lib/x86_64-linux-gnu/mwv206/libGL.so.1
/usr/lib/x86_64-linux-gnu/mwv206/libGL.so
/usr/lib/x86_64-linux-gnu/libGLX_mesa.so.0
/usr/lib/x86_64-linux-gnu/libGLX_indirect.so.0
/usr/lib/x86_64-linux-gnu/libGLX_mesa.so.0.0.0
/usr/lib/x86_64-linux-gnu/libGLX.so.0
/usr/lib/x86_64-linux-gnu/libGLdispatch.so.0
/usr/lib/x86_64-linux-gnu/libGLESv2.so.2
/usr/lib/x86_64-linux-gnu/libGLdispatch.so.0.0.0
/usr/lib/x86_64-linux-gnu/libGL.so.1.7.0
/usr/lib/x86_64-linux-gnu/libGL.so.1
/usr/lib/x86_64-linux-gnu/libGLU.so.1.3.1
/usr/lib/x86_64-linux-gnu/libGLESv2.so.2.1.0
/usr/lib/x86_64-linux-gnu/libGLX.so.0.0.0
说明OpenGL是安装了的,因为 Linux发行版自带的 OpenGL 链接库在后缀中添加了版本号,例如 libGL.so.1、libGL.so.1.2.0、libGL.so.1.3.1 等,但是 Qt 在链接阶段查找的 OpenGL 链接库是不带版本号的。所以我们需要在 /usr/lib/ 目录下创建一个软链接。执行如下命令:
sudo ln -s /usr/lib/x86_64-linux-gnu/libGL.so.1 /usr/lib/libGL.so
更新于:2个月前赞一波!
相关文章
- PHP 导出 Excel 报错: Formula Error: An unexpected error occurred
- MySQL5.7 中使用 group by 报错 this is incompatible with sql_mode=only_full_group_by
- PHP7.4命令行报错:VC运行库和PHP版本不兼容
- 打开vmware虚拟机报错—该虚拟机似乎正在使用中
- React Error: Exceeded timeout of 5000 ms for a test. 错误
- 前端请求PHP接口,报错跨域问题
- Apache报错:无法使用可靠的服务器域名
- apache常见错误:VC运行库(找不到 VCRUNTIME140.dll)
- mysql报错xamp table 'pma__recent' is read only
- 浏览器报错 ERR_SSL_VERSION_OR_CIPHER_MISMATCH
- linux编译报错:/usr/include/c++/7/cstdlib:41:10: fatal error: bits/c++config.h: No such file or directory
- Linux下编译libxml源码时,报错:/usr/include/x86_64-linux-gnu/bits/fcntl2.h:50:4: error: call to '__open...
- Linux下编译libxml2的源码报错:you must specify a host type if you use `--no-verify'
- vscode中通过ssh远程连接linux报错:Bad owner or permissions on C:\\Users\\用户名/.ssh/config
- 如何修复 Linux 终端中的“apt-get:找不到命令”
- Open SUSE Linux中编译内核模块报错
- EF报错Win32Exception: 证书链是由不受信任的颁发机构颁发的。
- EF Core 8 (EF8) Contains报错:Microsoft.Data.SqlClient.SqlException (0x80131904): 关键字 'WITH' 附近有语法错误。
- C/C++使用gcc或g++编译报错:error: parameter ‘xxx’ set but not used [-Werror=unused-but-set-parameter]
- Ubuntu Linux中apt/dpkg安装报错:Sub-process /usr/bin/dpkg returned an error code (1)
文章评论
评论问答