target_link_directories() 在 CMake 中做什么?
What does target_link_directories() do in CMake?
我正在学习标准的CMake函数,在阅读了文档之后,我仍然有这个问题。他们说
"指定链接器在链接给定目标时应搜索库的路径"
但是当我使用已经知道我的库在哪里的 target_link_libraries()
时,我真的不明白链接器如何查找库。
谢谢。
您传递给此命令的目录用于您将不是 cmake 目标的内容传递给 target_link_libraries
。
来自docs of target_link_libraries
This command has several signatures as detailed in subsections below. All of them have the general form
target_link_libraries(<target> ... <item>... ...)
[...]
Each <item>
may be:
- A library target name: [...]
- A full path to a library file: [...]
- A plain library name: The generated link line will ask the linker to search for the library (e.g. foo becomes -lfoo or foo.lib).
[...]
- ...
第三个选项(“普通库名称”)是 target_link_directories
相关的选项;如果默认情况下链接器没有找到库,则需要添加通过 target_link_directories
提供的路径(或通过类似的方式修改 LINK_DIRECTORIES
目标 属性)。
我正在学习标准的CMake函数,在阅读了文档之后,我仍然有这个问题。他们说
"指定链接器在链接给定目标时应搜索库的路径"
但是当我使用已经知道我的库在哪里的 target_link_libraries()
时,我真的不明白链接器如何查找库。
谢谢。
您传递给此命令的目录用于您将不是 cmake 目标的内容传递给 target_link_libraries
。
来自docs of target_link_libraries
This command has several signatures as detailed in subsections below. All of them have the general form
target_link_libraries(<target> ... <item>... ...)
[...]
Each
<item>
may be:
- A library target name: [...]
- A full path to a library file: [...]
- A plain library name: The generated link line will ask the linker to search for the library (e.g. foo becomes -lfoo or foo.lib). [...]
- ...
第三个选项(“普通库名称”)是 target_link_directories
相关的选项;如果默认情况下链接器没有找到库,则需要添加通过 target_link_directories
提供的路径(或通过类似的方式修改 LINK_DIRECTORIES
目标 属性)。