我正在编译一个共享库,在ld命令上有一个-lGL
。但它在我的系统上找不到libGL.so。 Nvidia包正确设置库路径/etc/ld.so.conf.d/
。 即使是ldconfig -p | grep libGL.so
输出发现:无法找到-lGL,没有符号链接怎么办?
libGL.so.1 (libc6,x86-64) => /usr/lib/nvidia-current/libGL.so.1
libGL.so.1 (libc6) => /usr/lib32/nvidia-current/libGL.so.1
libGL.so (libc6,x86-64, OS ABI: Linux 2.4.20) => /usr/lib/x86_64-linux-gnu/libGL.so
libGL.so (libc6,x86-64) => /usr/lib/nvidia-current/libGL.so
libGL.so (libc6, OS ABI: Linux 2.4.20) => /usr/lib32/libGL.so
libGL.so (libc6) => /usr/lib32/nvidia-current/libGL.so
我看了几乎无处不在,为了能够与它联系起来,我已经基本解决方案2:
链接NVIDIA的libGL.so到标准/ usr/lib位置。对于任何想要编译一个opengl库的人来说,这似乎都是错误的。为什么链接器不使用ldconfig缓存?
手动将-L/usr/lib/nvidia-current附加到库搜索路径。再一次,错误的是,我怎么知道图书馆可以在所有系统上找到的每一条路径?
所以我的真正的问题是:什么是对与图书馆没有连接在一个标准的位置,但位置已经与/etc/ld.so.conf
注册标准和自动的方法吗?
为什么这个标记的python? – mkb 2011-12-15 14:30:05
对不起,我在做python扩展。删除标签。 – tito 2011-12-15 14:31:15