更新到iOS 9.0 SDK框架项目构建失败

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

我是iOS编程的新手,最近我正在开发一个框架项目。我之前使用的是iOS 8.4 SDK,我使用这个项目为iOS设备和模拟器生成框架,然后使用一些脚本将它们合并到一个框架中。

我的构建设置:架构:标准架构; i386有效架构:armv7; arm64; I386

但是,当我将iOS SDK更新为9.0时,会显示一些错误。它曾经在iOS 8.4中成功构建。它显示1./Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS9.0.sdk/usr/include/sys/cdefs.h:707:2:不支持的架构2. / Applications / Xcode.app / Contents / Developer / Platforms / iPhoneOS.platform / Developer / SDKs / iPhoneOS9.0.sdk / usr / include / machine / _types.h:34:2:不支持架构3./Applications/Xcode。 app / Contents / Developer / Platforms / iPhoneOS.platform / Developer / SDKs / iPhoneOS9.0.sdk / usr / include / sys / _types.h:55:9:未知类型名称'__int64_t'4。/ Applications / Xcode.app /Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS9.0.sdk/usr/include/sys/_types.h:56:9:未知类型名称'__int32_t'......... ....和很多类似的__int43 / 64_t 5./Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS9.0.sdk/usr/include/sys/_types/_intptr_t。 h:30:9:未知类型名称'__darwin_intptr_t'6./Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS9.0.sdk/S ystem / Library / Frameworks / CoreFoundation.framework / Headers / CoreFoundation.h:11:10:无法构建模块'Darwin'

如果我从架构中删除i386,那么几个错误就会消失。此外,如果我将Apple LLVM 7.0 - 语言 - 模块:启用模块(C和Object-C)从yes更改为no,模块问题将得到修复。我可以正确构建框架。

但是,当我在我的框架测试应用程序中使用此框架时,以前也可以使用它。它会有一些错误:架构x86_64的未定义符号。

有人可以向我解释iOS更新发生了什么吗?如何在另一个项目中生成可用作SDK的正确框架。

build sdk frameworks ios9
1个回答
0
投票

使用iOS SDK 12.1,我收到了同样的错误。原因是当使用CMake进行编译时,我将目标体系结构从x86_64更改为arm64,但没有清理build文件夹。清洁/Users/yourname/Library/Developer/Xcode/DerivedData并重新运行CMake一切正常。

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