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 变量。