1. 程式人生 > >centos 下Qt 編譯錯誤 skipping incompatible /usr/lib/gcc/x86_64-redhat-linux/4.8.5

centos 下Qt 編譯錯誤 skipping incompatible /usr/lib/gcc/x86_64-redhat-linux/4.8.5

centos 下Qt 編譯錯誤

編譯報錯

/usr/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../libGL.so when searching for -lGL
 /usr/bin/ld: skipping incompatible /lib/libGL.so when searching for -lGL
 /usr/bin/ld: skipping incompatible /usr/lib/libGL.so when searching for -lGL
 /usr/bin/ld: cannot find -lGL

解決辦法

一、首先確保GL庫已安裝

// 輸入如下命令進行安裝
sudo yum install freeglut
sudo yum install freeglut-devel

二、檢視libGL詳細資訊

locate libGL.so | egrep ^/usr | xargs file

目前發現的資訊會有兩種

/usr/lib/libGL.so:         symbolic link to `libGL.so.1.2.0'
/usr/lib/libGL.so.1:       symbolic link to `libGL.so.1.2.0'
/usr/lib/libGL.so.1.2.0:   ELF 32-bit LSB shared object, Intel 80386, version 1 (SYSV), dynamically linked, BuildID[sha1]=9c9d874bcd64c89f0baea60a7878bd5d10942844, stripped
/usr/lib64/libGL.so:       broken symbolic link to `libGL.so.1.2.0'   // 此處 broken
/usr/lib64/libGL.so.1:     symbolic link to `libGL.so.1.2.0'
/usr/lib64/libGL.so.1.2.0: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, BuildID[sha1]=ff6de922c57fb9e18e0e2d429dd7f395c42672c1, stripped

/usr/lib/libGL.so:         symbolic link to `libGL.so.1.2.0'
/usr/lib/libGL.so.1:       symbolic link to `libGL.so.1.2.0'
/usr/lib/libGL.so.1.2.0:   ELF 32-bit LSB shared object, Intel 80386, version 1 (SYSV), dynamically linked, BuildID[sha1]=9c9d874bcd64c89f0baea60a7878bd5d10942844, stripped
/usr/lib64/libGL.so.1:     symbolic link to `libGL.so.1.2.0'
/usr/lib64/libGL.so.1.2.0: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, BuildID[sha1]=ff6de922c57fb9e18e0e2d429dd7f395c42672c1, stripped

–相對於第一處, 缺少/usr/lib64/libGL.so–

三、軟連結

// 輸入如下命令
sudo ln -s /usr/lib64/libGL.so.1 /usr/lib/gcc/x86_64-redhat-linux/4.8.5/libGL.so

繼續編譯,則沒有錯誤了。