【问题标题】:Howto set DEBUG & NDEBUG macros in Xcode Profiling and Archiving Builds?如何在 Xcode Profiling and Archiving Builds 中设置 DEBUG 和 NDEBUG 宏?
【发布时间】:2012-05-28 23:54:33
【问题描述】:

在 Xcode(当前版本 4.3.2)中,我为调试和发布版本设置了 DEBUG 和 NDEBUG 宏定义,因此我可以选择性地使用 ObjC 预处理器包含调试代码。

问题:当我选择 Product --> Build For --> Archiving 时,既没有定义 DEBUG 也没有定义 NDEBUG。我对 Product --> Build For --> Profiling 有类似的问题。

问题:如何在 xcode 中为存档和分析构建正确设置 DEBUG 和 NDEBUG,这样我的条件代码包含(预处理器)宏不会中断?

我目前在发送到 AppStore 之前存档构建的解决方法是暂时删除 DEBUG 代码;但这不是一个好习惯,即使我受到 git 的源版本控制系统的保护。

【问题讨论】:

    标签: xcode configuration build profiling archiving


    【解决方案1】:

    尝试将您的定义添加到

    "Preprocessor Macros Not Used in Precompiled Headers"
    

    改为

    "Preprocessor Macros"
    

    【讨论】:

      【解决方案2】:

      检查构建设置以确保在调试和发布模式下都定义了宏。

      例如:
      - 对于调试模式:NDEBUG=0 和 DEBUG=1
      - 对于发布模式:NDEBUG=1 和 DEBUG=0

      【讨论】:

      • 这很糟糕,因为两者都会被定义。如果您“#define DEBUG=0”,“#if DEBUG”将返回 FALSE,但“#ifdef DEBUG”将始终返回 TRUE,因为它已定义,无论它具有什么值。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-07-11
      • 2023-01-11
      • 1970-01-01
      • 1970-01-01
      • 2015-01-21
      • 1970-01-01
      相关资源
      最近更新 更多