【问题标题】:Defining preprocessor macro for certain architecture only仅为某些架构定义预处理器宏
【发布时间】:2016-12-01 16:30:28
【问题描述】:

默认情况下,Xcode 会针对多种架构编译我的项目:arm64armv7armv7s。现在我想为arm64 架构定义一个预处理器宏。我该怎么做?

在 Xcode 中使用 Preprocessor macros 字段将不起作用,因为该字段中的预处理器宏将为 所有 架构定义。但是如何才能仅为某些架构定义自定义预处理器宏?

【问题讨论】:

  • 您可以使用stackoverflow.com/questions/21639128/… 来检测架构并设置#define 如果您在arm64 中?或者这样:stackoverflow.com/questions/39076166/… 通过手动编辑项目文件。
  • 谢谢,arm64 只是一个例子。我当然知道如何检测 64 位,但我通常需要能够为某些架构设置预处理器宏,而不仅仅是arm64,所以我需要一个通用的解决方案。手动编辑项目文件似乎可以解决问题,但如果有的话,我当然更喜欢侵入性较小的解决方案。

标签: ios xcode


【解决方案1】:

我有类似的问题,解决了这样的问题(在 *.xcodeproj 中)

            HEADER_SEARCH_PATHS = (
                "$(PROJECT_DIR)/../../../_result/include",
            );
            "HEADER_SEARCH_PATHS[arch=arm64]" = (
                "$(PROJECT_DIR)/../../../_result/include/iphoneos_arm64",
            );

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-01-26
    • 1970-01-01
    • 2018-12-18
    • 1970-01-01
    • 2021-12-29
    相关资源
    最近更新 更多