CMake搭配Xcode目标时Release配置调试符号设置被忽略,无法生成dSYM文件
解决Xcode下CMake Release配置无法生成dSYM文件的问题
我之前碰到过一模一样的问题!你当前CMake配置的问题在于,用来指定Release配置的[variant=Release]语法,在CMake处理Xcode属性时并不被正确解析——这些设置根本没被应用到Release构建上,自然生成不了dSYM文件。
修复后的配置代码
改用CMake的生成器表达式$<CONFIG:Release>,精准地把这些属性仅应用到Release配置:
if (CMAKE_GENERATOR STREQUAL "Xcode") # 为Release模式生成dSYM调试符号文件 set(CMAKE_XCODE_ATTRIBUTE_GCC_GENERATE_DEBUGGING_SYMBOLS $<CONFIG:Release>:YES) set(CMAKE_XCODE_ATTRIBUTE_DEBUG_INFORMATION_FORMAT $<CONFIG:Release>:dwarf-with-dsym) # 剥离最终可执行文件的符号 set(CMAKE_XCODE_ATTRIBUTE_DEPLOYMENT_POSTPROCESSING $<CONFIG:Release>:YES) endif()
验证生效的步骤:
- 删除现有的构建目录,重新运行CMake生成Xcode项目
- 打开Xcode,切换到Release配置
- 检查Build Settings:
- 确认
Generate Debug Symbols设置为Yes - 确认
Debug Information Format设置为DWARF with dSYM File - 确认
Deployment Postprocessing设置为Yes
- 确认
- 构建Release目标,然后检查输出目录里是否出现了
.dSYM文件夹
这样修改后,CMake就能正确把这些属性关联到Xcode的Release配置上,dSYM文件应该就能正常生成了。
内容的提问来源于stack exchange,提问作者Jake Cobb
相关产品推荐
相关产品推荐

