【发布时间】:2015-01-29 16:35:09
【问题描述】:
我的情况是我有一个没有“lib”前缀的库。我想链接它,但我无法重新编译它(它实际上是一个 Python 模块)。
现在,如果您在 GCC 或 clang 中使用 '-l' 标志,则会自动添加 lib 前缀并且找不到库。对于 GCC,我可以使用 '-l:mylib.so' 让它链接到任意文件。
但是,这不适用于 clang。是否可以让 clang 链接到没有“lib”前缀的特定库?
【问题讨论】:
-
只需使用 /full/path/name/to/your/module.lib
-
@n.m.谢谢,这有效!对 GCC 是否同样有效,或者 ':' 是正确的方法吗?
-
适用于我所知道的所有编译器和链接器。
-
好的,我认为这不起作用(或者其他一些奇怪的东西)。我尝试使用 GCC 和 clang,并得到一个“没有对应于 -l{mylibrary} 的库文件”,其中 {mylibrary} 是没有 lib 前缀的 .so 文件的完整路径
-
您可能需要在终端中输入
man gcc并向下滚动到“链接选项”或look at it online。
标签: c++ shared-libraries clang dynamic-linking