【发布时间】:2021-08-29 16:04:14
【问题描述】:
特定库的静态版本和共享版本都在同一个文件夹中,那么Cmake 在调用target_link_libraries(target_name, library_name_without_postfix) 时更喜欢链接到哪个库?
为什么?
【问题讨论】:
-
这取决于您的链接器,但可能是共享的。如果您输入库文件的名称(而不是 CMake 库目标),CMake 只会在链接器行上传递
-llibrary_name_without_postfix。 -
如果没有指定,则默认为共享。
-
@Bhai 有参考吗?
-
@John gcc.gnu.org/onlinedocs/gcc/Link-Options.html 如果同时找到静态库和共享库,则链接器会优先链接共享库,除非使用了 -static 选项。
-
@Bhai 我明白了,非常感谢。
标签: linux ubuntu cmake build linker