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 会保存首次创建构建树时检测到的值。
在 CMake 4.0 之前的版本中,如果策略 CMP0060
未设置为 NEW
,那么当 target_link_libraries()
以完整路径给出这些目录中的库时,CMake 出于历史原因会在链接行上生成 -l<name>
形式。
另请参阅 CMAKE_<LANG>_IMPLICIT_LINK_LIBRARIES
变量。