Xcode - 为条件编译定义预处理器宏
我正在使用 XCode 4,在我的项目构建设置中,我设置了 :
Preprocessor macros
Debug DEBUG;FULL
Release FULL
并在同一项目的另一个目标中设置 :
Preprocessor macros
Debug DEBUG;LITE
Release LITE
这两个目标使用完全相同的文件,除了 plist 信息文件不同之外。
然后后来在我的代码中,我写道:
#ifdef FULL
// ###### FULL VERSION
NSLog(@"test");
// ######
#endif
但日志从未被写入。
我做错了什么? 我不想(需要)为 FULL 语句设置一个值。
I'm using XCode 4, and in my project build settings, I've set :
Preprocessor macros
Debug DEBUG;FULL
Release FULL
and in another target of the same project :
Preprocessor macros
Debug DEBUG;LITE
Release LITE
The two targets are using exactly the same files, except the plist info file that is made distinct.
Then later in my code, I wrote :
#ifdef FULL
// ###### FULL VERSION
NSLog(@"test");
// ######
#endif
But the log is never written.
What am I doing wrong ?
I don't want (need) to set a value to the FULL statement.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
多个预处理器宏由空格而不是分号分隔。所以它应该是:
使用分号,您正在定义一个名为“DEBUG;FULL”的宏。这与您的
#ifdef
不匹配。Multiple preprocessor macros are separated by spaces not semicolon. So it should be:
With the semicolon, you're defining a single macro called "DEBUG;FULL". And that won't match your
#ifdef
.