QT错误:跳过不兼容/usr/lib/gcc/x86_64-redhat-linux/4.8.5/.5/./././ .



QT 5.7.0 GCC 4.9.1 我在安装QT后创建了一个简单的小部件项目(没有编写单个代码,没有更改设置,仅将几个控件拖到表单上)并进行了测试编译。我收到错误消息:

:-1: error: skipping incompatible /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../libGL.so when searching for -lGL
:-1: error: skipping incompatible /lib/libGL.so when searching for -lGL
:-1: error: skipping incompatible /usr/lib/libGL.so when searching for -lGL 
:-1: error: cannot find -lGL
:-1: error: collect2: error: ld returned 1 exit status

我认为它试图链接到我64位机器中的32位OpenGL。/USR/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../../libgl.so确实位于/usr/lib/libgl中。我认为64位版本是/usr/lib64/libgl中的一个版本。如何更改链接路径以使其链接到正确的库?

这似乎您缺少编译32位二进制文件所需的库。

尝试运行:

sudo yum install glibc-devel.i686 libgcc.i686 libstdc++-devel.i686

这就是我解决这个问题的方式。

  1. locate libGL.so并找到正确的64位版本(我使用了最新版本);
  2. 在QT LIB路径中创建链接:ln -s /usr/lib64/libGL.so.352.79 ~/Qt/5.7/gcc_64/lib/libGL.so

最新更新