特定库的静态版本和共享版本都在同一个文件夹中,那么 Cmake
是哪个库调用时更喜欢链接到 target_link_libraries(target_name, library_name_without_postfix)
?
为什么?
最佳答案
如果 target_link_libraries 在第二个参数中采用库名称,则它完全取决于链接器。在您的情况下,链接行将被翻译为
-llibrary_name_without_postfix.
在这种情况下,它将在标准路径(如 LD_LIBRARY_PATH、/etc/ld.so.conf)或系统路径中进行搜索。由于您没有说明该位置,我假设该库位于当前的构建目录中。你在某处有一个命令,包括链接器路径中的当前构建目录,使用
link_directories
.在这种情况下,默认链接是动态的。
关于linux - `Cmake` 在调用 `target_link_libraries(target_name, library_name_without_postfix)` 时更喜欢链接到哪个库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67958558/