我有一个
C++
使用的项目
CMake
作为其内置系统
Visual Studio 2017 Enterprise
the documentation
/LTCG
和
/GENPROFILE
. 在
,这似乎等同于设置变量
CMAKE_EXE_LINKER_FLAGS
:
set(LINKER_FLAGS, "/LTCG /GENPROFILE")
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} ${LINKER_FLAGS}")
此外,由于我的应用程序需要命令行参数,所以我必须在
launch.vs.json
如图所示
answer
x64-Release
配置文件,它成功地完成了正常,无延迟
Release
打造时尚。不
.pgd
已生成,这意味着我传递的链接器标志可能已被忽略。
另一个尝试是添加额外的
克马克
链接器标志变量:
set(LINKER_FLAGS, "/LTCG /USEPROFILE")
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} ${LINKER_FLAGS}")
set(CMAKE_MODULE_LINKER_FLAGS "${CMAKE_MODULE_LINKER_FLAGS} ${LINKER_FLAGS}")
set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} ${LINKER_FLAGS}")
set(CMAKE_STATIC_LINKER_FLAGS "${CMAKE_STATIC_LINKER_FLAGS} ${LINKER_FLAGS}")
这也没用。指定
/USEPROFILE
之后没有生成不同的二进制文件。而且,运行时大致相等。命令行上也没有显示已经生成或使用了配置文件。
我做错什么了?