cmake-g标志未生成“DWARF with dSym file”调试信息 我使用CGEAR生成C++ XCODE项目,但是调试信息永远不会生成。每次使用cmake生成项目时,我都必须从构建设置中手动选择“DWARF with dSym file”

cmake-g标志未生成“DWARF with dSym file”调试信息 我使用CGEAR生成C++ XCODE项目,但是调试信息永远不会生成。每次使用cmake生成项目时,我都必须从构建设置中手动选择“DWARF with dSym file”,c++,xcode,cmake,C++,Xcode,Cmake,使用“SET-CMAKE\u-CXX\u-FLAGS\u-DEBUG${CMAKE\u-CXX\u-FLAGS\u-DEBUG}-g”没有任何区别 我还非常确定,它过去在使用XCode 6时可以正常工作,现在使用的是XCode 7解决方案 您可以使用变量 要设置DWARF,可以使用: set(CMAKE_XCODE_ATTRIBUTE_DEBUG_INFORMATION_FORMAT "dwarf") 要使用dSYM文件设置DWARF,请执行以下操作: 提示 Xcode属性的名称和值可以在快速

使用“SET-CMAKE\u-CXX\u-FLAGS\u-DEBUG${CMAKE\u-CXX\u-FLAGS\u-DEBUG}-g”没有任何区别

我还非常确定,它过去在使用XCode 6时可以正常工作,现在使用的是XCode 7

解决方案 您可以使用变量

要设置DWARF,可以使用:

set(CMAKE_XCODE_ATTRIBUTE_DEBUG_INFORMATION_FORMAT "dwarf")
要使用dSYM文件设置DWARF,请执行以下操作:

提示 Xcode属性的名称和值可以在快速帮助部分中找到,请参见方括号中的[DEBUG_INFORMATION_FORMAT]、[dwarf]和[dwarf with dsym]:


非常感谢,我还修复了一些其他令人不安的设置:-请注意,使用“SET-CMAKE\u-CXX\u-FLAGS\u-DEBUG${CMAKE\u-CXX\u-FLAGS\u-DEBUG}-g”以及设置CMAKE\u-XCODE\u属性\u-DEBUG\u-INFORMATION\u格式仍然是必需的。请注意,现在的最佳实践要求直接在目标上设置属性。在本例中,可以这样做,而不使用CMAKE前缀:set_target_properties${TARGETNAME}properties XCODE_ATTRIBUTE_DEBUG_INFORMATION_FORMAT dwarf with dsym
set(CMAKE_XCODE_ATTRIBUTE_DEBUG_INFORMATION_FORMAT "dwarf-with-dsym")