某些编译器选项实际上可能需要额外的 link 选项才能真正有效。例如,要启用GCC's Link Time Optimization,必须在编译命令和链接命令中传递-flto
选项。
有一个漂亮的builtin cmake
command用于添加编译选项,但据我所知,没有相应的链接选项命令。即使有,当我们使用的编译选项暗示它们时,需要明确指定它们会非常烦人。
add_compile_options(-flto)
将-flto
添加到链接命令中也是如此?如果没有,我是否需要直接set(LINK_FLAGS ....
?
答案 0 :(得分:4)
add_compile_options
和target_compile_options
将不传递给链接器。
您可以(ab)使用target_link_libraries
for this purpose:
以 - ,但不是-l或-framework开头的项目名称被视为 链接器标志。
答案 1 :(得分:1)
在cmake 3.13及更高版本中,可以使用add_link_options()完成此操作。