我不明白为什么同时需要libGLEW.so.1.10和libGLEW.so.1.11

时间:2014-08-23 16:27:32

标签: linux glew shared-libraries

我在过去两个月里没有在我的某个项目上工作,今天我已经编译了它并且我试图运行它,但是当我尝试运行它时我得到了这个错误:

./a.out: error while loading shared libraries: libGLEW.so.1.10: cannot open shared object file: No such file or directory

所以我做了ldd a.out | grep "GLEW"并得到了:

libGLEW.so.1.11 => /usr/lib/libGLEW.so.1.11 (0xb7380000)
libGLEW.so.1.10 => not found

找到libGLEW返回:

/usr/lib/libGLEW.so
/usr/lib/libGLEW.so.1.11
/usr/lib/libGLEW.so.1.11.0
/usr/lib/libGLEWmx.so
/usr/lib/libGLEWmx.so.1.11
/usr/lib/libGLEWmx.so.1.11.0

我不明白为什么以及我的项目如何同时链接1.11和1.10,我检查我的CMakeLists.txt没有指定使用1.10或1.11,所以从哪里可以来自我的问题?如果您需要更多信息,我可以添加一些,但是现在,我不知道哪种信息可以用来解决这个问题。我想这个问题出现在我的操作系统更新后(archlinux)

1 个答案:

答案 0 :(得分:2)

对于加载器,这些都只是文件名。它没有版本控制的概念。

我的猜测是出现了这种情况,因为1.11是一个薄层,可能是为了修补bug或增强功能,并且假设主要使用1.10版本。