CMAKE_<LANG>_IMPLICIT_LINK_DIRECTORIES¶
为语言 <LANG>
检测到的隐式链接器搜索路径。
编译器通常在调用链接器时传递包含语言运行时库和默认库搜索路径的目录。这些路径是编译器语言的隐式链接器搜索目录。
对于通过 project()
或 enable_language()
命令启用的每种语言,CMake 都会自动检测这些目录,并在该变量中报告结果。CMAKE_<LANG>_IMPLICIT_LINK_DIRECTORIES_EXCLUDE
环境变量可以设置为排除自动检测结果中的特定目录。
当链接到静态库时,CMake 会为此静态库中使用的每种语言添加来自此变量的隐式链接目录(除了用于驱动链接的编译器的语言)。对于导入的静态库,IMPORTED_LINK_INTERFACE_LANGUAGES
目标属性列出了需要其隐式链接信息的语言。如果任何语言未启用,则项目可以提供 CMAKE_<LANG>_IMPLICIT_LINK_DIRECTORIES
变量的该语言的值。或者,工具链文件
可以将该变量设置为指定工具链的已知值。当语言启用时,它将被覆盖,或者用作后备。
一些工具链从环境变量(例如 LIBRARY_PATH
)读取隐式目录。如果使用此类环境变量,请在给定的构建树中操作时保持其值一致,因为 CMake 会保存首次创建构建树时检测到的值。
在 4.0 之前的 CMake 版本中,如果策略 CMP0060
未设置为 NEW
,则当通过完整路径将这些目录之一中的库提供给 target_link_libraries()
时,CMake 将出于历史原因在链接行上生成 -l<name>
形式。
另请参阅 CMAKE_<LANG>_IMPLICIT_LINK_LIBRARIES
变量。