如果您尝试在 iOS 13 项目中使用第 3 方库(使用 make 或 cmake 编译)并打开“UIKit For Mac”选项,Xcode 将对该库不满意。它会提示所提供的库是为错误的架构编译的(如果你将它指向 iphoneos 版本)。或者,它会提示它是为错误的平台编译的(如果你将它指向模拟器或 Mac 版本)。我需要在 Makefile 中指定哪些设置才能使 Xcode 接受“UIKit For Mac”选项下的库?
最佳答案
好吧,在研究了一段时间之后,我发现如果您为 clang 提供以下目标(在调用 configure
之前设置 CFLAGS
变量),它会编译库的正确版本(注意 -macabi
后缀):
-target x86_64-apple-ios${MIN_IOS_VERSION}-macabi
我还将最低操作系统版本标志添加到 macOS 版本:
-mmacosx-version-min=${MIN_OSX_VERSION}
此处 MIN_IOS_VERSION="13.0"
和 MIN_OSX_VERSION="10.15"
关于ios - 如何编译与 UIKit For Mac/Catalyst 一起使用的第 3 方库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56487645/