linux – 跳过不兼容的libGL.so
发布时间:2020-12-14 01:04:27 所属栏目:Linux 来源:网络整理
导读:我已经在我的电脑上新安装了Fedora 19 x86_64. 我写了一个简单的OpenGL程序,但未能编译它. gcc -o quad quad.c -lX11 -lGL -lGLU /usr/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-redhat-linux/4.8.1/../.. /../libGL.so when searching for -lGL /
我已经在我的电脑上新安装了Fedora 19 x86_64.
我写了一个简单的OpenGL程序,但未能编译它. gcc -o quad quad.c -lX11 -lGL -lGLU /usr/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-redhat-linux/4.8.1/../.. /../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 collect2: error: ld returned 1 exit status 我有MesaGL和其他库(即/usr/lib)然后出了什么问题? 解决方法
对我来说,库符号链接有问题:
$locate libGL.so | egrep ^/usr | xargs file /usr/lib/libGL.so: symbolic link to `/usr/lib/libGL.so.1' /usr/lib/libGL.so.1: symbolic link to `/usr/lib/libGL.so.1.2' /usr/lib/libGL.so.1.2: symbolic link to `/usr/lib/fglrx/fglrx-libGL.so.1.2' /usr/lib/fglrx/fglrx-libGL.so.1.2: ELF 32-bit LSB shared object,Intel 80386,version 1 (SYSV),dynamically linked,stripped /usr/lib64/FGL.renamed.libGL.so.1.2.0: ELF 64-bit LSB shared object,x86-64,BuildID[sha1]=46121ec8b16424a8b65a0cf11c3f9730ae0e49f5,stripped /usr/lib64/libGL.so: broken symbolic link to `libGL.so.1.2.0' /usr/lib64/libGL.so.1: symbolic link to `/usr/lib64/libGL.so.1.2' /usr/lib64/libGL.so.1.2: symbolic link to `/usr/lib64/fglrx/fglrx-libGL.so.1.2' /usr/lib64/fglrx/fglrx-libGL.so.1.2: ELF 64-bit LSB shared object,stripped 所以/usr/lib/libGL.so指向一个32位的lib和/usr/lib/libGL.so是一个断开的链接.我修复了/usr/lib64版本以正确指向libGL.so.1(和/usr/lib版本指向64位版本以获得良好的衡量标准)这似乎已经得到了我的代码编译. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |