gpt4 book ai didi

linux - 跳过不兼容的 libGL.so

转载 作者:IT王子 更新时间:2023-10-29 01:19:32 29 4
gpt4 key购买 nike

我在我的电脑上新安装了 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),那怎么了?

最佳答案

对我来说,库符号链接(symbolic link)有问题:

$ 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, version 1 (SYSV), dynamically linked, 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, x86-64, version 1 (SYSV), dynamically linked, stripped

所以/usr/lib/libGL.so 指向一个 32 位库,而/usr/lib/libGL.so 是一个损坏的链接。我修复了/usr/lib64 版本以正确指向 libGL.so.1(并且/usr/lib 版本指向 64 位版本,以便更好地衡量),这似乎让我的代码编译成功。

关于linux - 跳过不兼容的 libGL.so,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17552136/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com