【问题标题】:cmake -g flag not generating 'DWARF with dSym file' debug informationcmake -g 标志未生成“带有 dSym 文件的 DWARF”调试信息
【发布时间】:2016-05-15 10:27:48
【问题描述】:

我正在使用 cmake 生成一个 C++ Xcode 项目,但从未生成调试信息。每次使用 cmake 生成项目时,我都必须从构建设置中手动选择“带有 dSym 文件的 DWARF”。

使用 'SET (CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -g")' 没有区别。

我也很确定它曾经在 XCode 6 上正常工作(现在使用 Xcode 7)

【问题讨论】:

    标签: c++ xcode cmake


    【解决方案1】:

    解决方案

    您可以使用CMAKE_XCODE_ATTRIBUTE_* 变量。

    要设置DWARF,您可以使用:

    set(CMAKE_XCODE_ATTRIBUTE_DEBUG_INFORMATION_FORMAT "dwarf")
    

    设置DWARF with dSYM File

    set(CMAKE_XCODE_ATTRIBUTE_DEBUG_INFORMATION_FORMAT "dwarf-with-dsym")
    

    提示

    Xcode 属性和值的名称可以在“快速帮助”部分找到(见方括号 [DEBUG_INFORMATION_FORMAT][dwarf][dwarf-with-dsym]):

    【讨论】:

    • 再次感谢,我还修复了其他一些令人讨厌的设置 :-)
    • 请注意,仍然需要使用 'SET (CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -g")' 以及设置 CMAKE_XCODE_ATTRIBUTE_DEBUG_INFORMATION_FORMAT
    • 另请注意,如今的最佳实践要求直接在目标上设置属性。在这种情况下,它会这样做,没有 CMAKE 前缀: set_target_properties(${TARGETNAME} PROPERTIES XCODE_ATTRIBUTE_DEBUG_INFORMATION_FORMAT "dwarf-with-dsym")
    猜你喜欢
    • 2019-09-24
    • 2020-12-14
    • 1970-01-01
    • 2014-04-27
    • 1970-01-01
    • 2019-06-05
    • 1970-01-01
    • 2014-05-15
    • 1970-01-01
    相关资源
    最近更新 更多