【发布时间】:2015-03-26 13:39:56
【问题描述】:
我正在使用 cmake 生成视觉工作室解决方案。现在我想为发布版本生成 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 忽略了这些集合: 提前感谢您的帮助!
【问题讨论】:
-
您能否详细说明 - 没有成功?您是否收到错误、缺少结果或只是不起作用?
-
只是不起作用。我想知道 "set(CMAKE_CONFIGURATION_TYPES ${CMAKE_BUILD_TYPE} CACHE STRING "Build Types" FORCE)" 行是否覆盖了标志
-
除了
add_executable(out a.cpp b.cpp)之外,我还尝试了这个,当我构建发布配置时,还有一个 .pdb 文件。它是可调试的。你能发布更多细节吗?顺便说一句,为 MSVC 生成时不要使用CMAKE_BUILD_TYPE
标签: visual-studio visual-studio-2012 cmake pdb-files