仅为某些架构定义预处理器宏
Posted
技术标签:
【中文标题】仅为某些架构定义预处理器宏【英文标题】:Defining preprocessor macro for certain architecture only 【发布时间】:2016-12-01 16:30:28 【问题描述】:默认情况下,Xcode 会针对多种架构编译我的项目:arm64
、armv7
和 armv7s
。现在我想为arm64
架构定义一个预处理器宏。我该怎么做?
在 Xcode 中使用 Preprocessor macros
字段将不起作用,因为该字段中的预处理器宏将为 所有 架构定义。但是如何才能仅为某些架构定义自定义预处理器宏?
【问题讨论】:
您可以使用***.com/questions/21639128/… 来检测架构并设置#define 如果您在arm64 中?或者这样:***.com/questions/39076166/… 通过手动编辑项目文件。 谢谢,arm64
只是一个例子。我当然知道如何检测 64 位,但我通常需要能够为某些架构设置预处理器宏,而不仅仅是arm64
,所以我需要一个通用的解决方案。手动编辑项目文件似乎可以解决问题,但如果有的话,我当然更喜欢侵入性较小的解决方案。
【参考方案1】:
我有类似的问题,解决了这样的问题(在 *.xcodeproj 中)
HEADER_SEARCH_PATHS = (
"$(PROJECT_DIR)/../../../_result/include",
);
"HEADER_SEARCH_PATHS[arch=arm64]" = (
"$(PROJECT_DIR)/../../../_result/include/iphoneos_arm64",
);
【讨论】:
以上是关于仅为某些架构定义预处理器宏的主要内容,如果未能解决你的问题,请参考以下文章