Xcode 4:如何添加预处理器宏。发狂

时间:2011-10-19 20:19:53

标签: xcode4

所以,

在Xcode 3中添加预处理器宏很容易。 Xcode 4不是这样。有人可以请我秘密握手吗?

谢谢, 道格

4 个答案:

答案 0 :(得分:2)

用于设置预处理器宏的构建设置在Xcode 4中没有更改。使用预处理器宏构建设置,该设置位于预处理构建设置集合中。

Xcode 4中的更改是构建设置所在的位置。阅读以下内容以在Xcode 4中找到构建设置:

Xcode 4: Accessing Build Settings

答案 1 :(得分:0)

你的意思是.h文件中有这样的东西吗?

#define BLANK_IF_NIL(__STRING) (__STRING ? __STRING : @"")

在.m文件中......

NSLog("My string: @%", BLANK_IF_NIL(myString));

答案 2 :(得分:0)

我不得不求助于在文本编辑器中编辑项目文件。叹息......

答案 3 :(得分:0)

扩展@dugla的回答:

修改project.pbx(可在Finder中选择show package contents,在YourProject.xcodeproj内找到)。搜索:

 /* Begin XCBuildConfiguration section */

在这里你要添加:

GCC_PREPROCESSOR_DEFINITIONS = (
    "DEBUG=1",
    "$(inherited)",
);

所以你最终得到的结果是:

/* Begin XCBuildConfiguration section */
    E4B69B4E0A3A1720003C02F2 /* Debug */ = {
        isa = XCBuildConfiguration;
        baseConfigurationReference = E4EB6923138AFD0F00A09F29 /* Project.xcconfig */;
        buildSettings = {
            ARCHS = "$(NATIVE_ARCH)";
            CONFIGURATION_BUILD_DIR = "$(SRCROOT)/bin/";
            COPY_PHASE_STRIP = NO;
            DEAD_CODE_STRIPPING = YES;
            GCC_AUTO_VECTORIZATION = YES;
            GCC_ENABLE_SSE3_EXTENSIONS = YES;
            GCC_ENABLE_SUPPLEMENTAL_SSE3_INSTRUCTIONS = YES;
            GCC_INLINES_ARE_PRIVATE_EXTERN = NO;
            GCC_MODEL_TUNING = G5;
            GCC_SYMBOLS_PRIVATE_EXTERN = NO;
            GCC_WARN_ABOUT_DEPRECATED_FUNCTIONS = NO;
            GCC_WARN_ABOUT_INVALID_OFFSETOF_MACRO = NO;
            GCC_WARN_ALLOW_INCOMPLETE_PROTOCOL = NO;
            GCC_WARN_UNINITIALIZED_AUTOS = NO;
            GCC_WARN_UNUSED_VALUE = NO;
            GCC_WARN_UNUSED_VARIABLE = NO;
            OTHER_CPLUSPLUSFLAGS = (
                "-D__MACOSX_CORE__",
                "-lpthread",
            );
            GCC_PREPROCESSOR_DEFINITIONS = (
                "DEBUG=1",
                "$(inherited)",
            );
        };
        name = Debug;
    };