CMAKE_EXE_LINKER_FLAGS_<CONFIG>

在链接可执行文件时使用的标志。

CMAKE_C_FLAGS_* 相同,但由链接器在创建可执行文件时使用。

处理编译器驱动器差异

4.0 版本新增。

要将选项传递给链接器工具,每个编译器驱动程序都有其自己的语法。可以使用 LINKER: 前缀和 , 分隔符以可移植的方式指定要传递给链接器工具的选项。LINKER: 会被替换为相应的驱动程序选项,而 , 会被替换为相应的驱动程序分隔符。驱动程序前缀和驱动程序分隔符由 CMAKE_<LANG>_LINKER_WRAPPER_FLAGCMAKE_<LANG>_LINKER_WRAPPER_FLAG_SEP 变量的值给出。

例如,"LINKER:-z,defs" 对于 Clang 会变成 -Xlinker -z -Xlinker defs,对于 GNU GCC 会变成 -Wl,-z,defs

LINKER: 前缀支持另一种语法,即使用 SHELL: 前缀和空格作为分隔符来指定参数。上面的例子则变成 "LINKER:SHELL:-z defs"

注意

不支持在 LINKER: 前缀的开头以外的任何位置指定 SHELL: 前缀。

此支持意味着需要解析并重新引用变量的内容。请参阅策略 CMP0181