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