【问题标题】:Qt error: skipping incompatible /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../libGL.so when searching for -lGLQt错误:搜索-lGL时跳过不兼容的/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../libGL.so
【发布时间】:2016-06-21 08:57:28
【问题描述】:

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 中的版本。如何更改链接路径以使其链接到正确的库?

【问题讨论】:

    标签: qt qt5


    【解决方案1】:

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

    尝试运行:

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

    【讨论】:

    • 您还需要为 C++ 代码安装“libstdc++-devel.i686”。您可能想要编辑您的答案并添加它。
    • 这帮助我完成了其他问题,应该被接受为 IMO 的答案
    【解决方案2】:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-06-18
      • 1970-01-01
      • 2013-05-31
      • 1970-01-01
      • 1970-01-01
      • 2011-05-02
      • 2019-07-14
      • 2013-06-09
      相关资源
      最近更新 更多