在 Xcode 中,如何为独立模块(框架)设置编译器标志?

问题描述 投票:0回答:1

我正在编写自己的独立模块,并想使用 cblas_dasum 来有效计算双精度数组的绝对值之和。虽然弹出一条消息说我必须

指定 ACCELERATE_NEW_LAPACK=1 和 ACCELERATE_LAPACK_ILP64=1 作为预处理器 Xcode 构建设置中的宏。

不幸的是,该函数已从 iOS 16.4+ 中弃用(我仍然需要支持),而且我根本看不到任何 Xcode 构建设置来设置此标志。

如何解决?

我所看到的:

swift xcode blas swift-package swift-framework
1个回答
0
投票

如果弃用,操作系统可以继续支持弃用多年。但无论如何:

要在 Xcode 构建设置中设置宏,请转至 -> TARGETS -> Build Settings -> Type: Processors Macros -> 输入您想要的宏名称。然后设置即可。

静默弃用消息

如果您想在代码中对特定方法静默弃用消息,请使用此技术:

#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wdeprecated-declarations"
- (void)YourDeprecatedMethod {
    //content...
}
#pragma GCC diagnostic pop

根据需要尝试一下。

重要

Apple 在 Accelerate 下提供了 BLAS 和 LAPACK 库 框架符合LAPACK 3.9.1。这些新接口 提供附加功能以及新的 ILP64 接口。到 使用新接口,在包含之前定义 ACCELERATE_NEW_LAPACK Accelerate 或 vecLib 标头。对于 ILP64 接口,还定义 ACCELERATE_LAPACK_ILP64。对于 Swift 项目,请指定 ACCELERATE_NEW_LAPACK=1 和 ACCELERATE_LAPACK_ILP64=1 作为预处理器 Xcode 构建设置中的宏。

© www.soinside.com 2019 - 2024. All rights reserved.