为啥我的编译器指令定义无法识别? (迅速)
Posted
技术标签:
【中文标题】为啥我的编译器指令定义无法识别? (迅速)【英文标题】:Why my compiler directive definition is not recognised? (Swift)为什么我的编译器指令定义无法识别? (迅速) 【发布时间】:2016-10-26 06:54:54 【问题描述】:我有 3 个目标。假设 TargetA、TargetB 和 TargetC。我在 Targets > Target name > Build Settings > Apple LLVM 7.1 - Custom Compiler Flags > Other C Flags > Debug & Release 中为每个目标添加了不同的编译器指令。
我把-dTargetA
放在TargetA上,-dTargetB
放在TargetB上,-dTargetC
放在TargetC上。然后我在 AppDelegate 的 didFinishLaunchingWithOptions 上有这段代码:
#if TargetA
print ("TargetA");
#else
#if TargetB
print ("TargetB");
#else
#if TargetC
print ("TargetC");
#else
print ("Not Recognised");
#endif
#endif
#endif
但是当我运行它时,我在输出控制台上看到“未识别”,即使我从任何目标运行。怎么了?谢谢。
【问题讨论】:
【参考方案1】:哦,没关系。原来我放错地方了。我应该把它放在 Swift 自定义编译器标志中,而不是 C 或 C++ 标志中。但是这么多答案告诉我要放入 C 编译器标志...
【讨论】:
以上是关于为啥我的编译器指令定义无法识别? (迅速)的主要内容,如果未能解决你的问题,请参考以下文章
使用 qmake 成功编译 SSE 指令(但无法识别 SSE2)
为啥 Netbeans 无法识别我的 Grails 应用程序中的 Maven 依赖项导入?