在调用 `target_link_libraries(target_name, library_name_without_postfix)` 时,`Cmake` 比 link 更喜欢哪个库?

Which library does `Cmake` prefer to link to when invoking `target_link_libraries(target_name, library_name_without_postfix)`?

特定库的静态版本和共享版本都在同一个文件夹中,那么在调用 target_link_libraries(target_name, library_name_without_postfix)Cmake 比 link 更喜欢哪个库?

为什么?

如果target_link_libraries在第2个参数中取库名,那完全取决于linker。在您的情况下,link 行将被翻译成

-llibrary_name_without_postfix.

在这种情况下,它将在标准路径中搜索,如LD_LIBRARY_PATH、/etc/ld。so.conf或在系统路径中。

由于您没有说明位置,我假设该库位于当前构建目录中。并且您在某处有一个命令,包括使用 link_directories 的 linker 路径中的当前构建目录。在这种情况下,默认 link 是动态的。