我正在使用cmake生成Visual Studio解决方案。现在我想为Release版本生成pdb文件(为什么?因为我希望在用户发现某些错误时拥有符号)。
我尝试通过设置以下标志来生成,但并没有成功:
我尝试通过设置以下标志来生成,但并没有成功:
set(CMAKE_CONFIGURATION_TYPES ${CMAKE_BUILD_TYPE} CACHE STRING "Build Types" FORCE)
IF(WIN32)
set( CMAKE_RUNTIME_OUTPUT_DIRECTORY_RELEASE "${CMAKE_BINARY_DIR}/Release")
set( CMAKE_EXE_LINKER_FLAGS_RELEASE "/debug /INCREMENTAL")
set( CMAKE_SHARED_LINKER_FLAGS_RELEASE "/debug /INCREMENTAL")
set( CMAKE_MODULE_LINKER_FLAGS_RELEASE "/debug /INCREMENTAL")
set( CMAKE_CXX_FLAGS_RELEASE "/MD /Zi /O2 /Ob1 /D NDEBUG")
set( CMAKE_C_FLAGS_RELEASE "/MD /Zi /O2 /Ob1 /D NDEBUG")
ENDIF(WIN32)
看起来Cmake忽略了这些设置: 感谢您的帮助!
add_executable(out a.cpp b.cpp)
之外,当我构建Release配置时,还生成了一个.pdb文件。而且它是可调试的。你能提供更多细节吗?顺便说一下,在为MSVC生成时不要使用CMAKE_BUILD_TYPE
。 - onqtam