强制 ld 在正确的位置查找 libSM.so

Posted

技术标签:

【中文标题】强制 ld 在正确的位置查找 libSM.so【英文标题】:Force ld to look for libSM.so in the correct place 【发布时间】:2017-05-20 10:38:07 【问题描述】:

我的 Makefile 中的一个目标依赖于 libSM.so,但 ld 出于某种原因在 /usr/Lib/gcc/x86_64-redhat-linux/.. 内部查找,发现不兼容的(32 位)版本并放弃。我在/lib64 中有正确的版本,但-L/lib64 没有帮助。

如何强制ld取/lib64下的版本?

【问题讨论】:

【参考方案1】:

您可以简单地在 cmd 行上传递该库:

gcc a.o b.o /usr/Lib/gcc/x86_64-redhat-linux/lib64/libSM.so ...

【讨论】:

以上是关于强制 ld 在正确的位置查找 libSM.so的主要内容,如果未能解决你的问题,请参考以下文章

text OpenCV Docker错误“ImportError:libSM.so.6:无法打开共享对象文件:没有这样的文件或目录”#864

使用 CMake 强制进行 32 位编译的正确方法

/x86_64-linux-gnu/libSM.so: undefined reference to `uuid_generate@UUID_1.0'错误

JSON-LD:报告模式类型的正确语法是啥?

查找设备是不是指向正确的航向/方向?

“没有这样的文件或目录”链接器错误,LD_LIBRARY_PATH 设置正确