ios - 静态库和 XCode 4.x

标签 ios ipad

我们已经实现了一个静态库并尝试在项目中使用它。该库编译/构建良好,但当我们尝试在分别导入 .a 和 .h 文件后运行该项目时,我们遇到了以下错误:

ld: warning: ignoring file Lib.a, file was built for archive which is not the architecture being linked (i386)

Undefined symbols for architecture i386:
  "_OBJC_CLASS_$_MFourInOneStaticLib", referenced from:
      objc-class-ref in MAppDelegate.o
ld: symbol(s) not found for architecture i386
clang: error: linker command failed with exit code 1 (use -v to see invocation)

我已经检查了架构。此外,我们正在使用模拟器进行测试。

最佳答案

看起来你的库没有包含正确的架构。

ios你需要armv7,模拟器你需要i386

测试一下

lipo -info %NAME%

通常 lipo 只为 EITHER arm 或 x86 构建

为两个拱门构建它,然后合并两个文件

lipo ./build/Release-iphoneos/%NAME% ./build/Release-iphonesimulator/%NAME% -output ./Dist/lib/%NAME% -create

关于ios - 静态库和 XCode 4.x,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13471693/

相关文章:

ios - 如何将按钮设置到导航的最右侧 - iOS

ios - 基金会导出

网格内的 .NET MAUI CollectionView 在 iPhone/iPad 上未正确显示

ipad - 在触摸设备上拖动 html 元素时检测悬停

ios - ImageView 双边框

ios - 使用 Xcode7 的 UI 测试为 App Store 创建应用程序屏幕截图

iphone - 使用 "tableView:sectionForSectionIndexTitle:atIndex:"帮助滚动到 TableViewHeader?

ios - 不规则字体名称何时与粗体和斜体结合使用?

ios - 如何打开新 View 并杀死实际 View ?

iphone - 如何使用 iOS SDK 获取所有 DNS 记录