NSE*_*rer 3 iphone static-libraries ios xcode4
我正在尝试使用此示例学习在我的Xcode项目中创建和使用静态库.但是我一直在犯这个错误:
ld: warning: ignoring file /Developer/MathTest/iCodeBlogsMathLibrary/libICodeMathUtils.a,
missing required architecture i386 in file
Undefined symbols for architecture i386:
"_OBJC_CLASS_$_MathFunctions", referenced from:
objc-class-ref in MathTestViewController.o
ld: symbol(s) not found for architecture i386
collect2: ld returned 1 exit status
Run Code Online (Sandbox Code Playgroud)
我可能会失踪什么?
您似乎正在为模拟器构建,这对应于i386架构,但您只能与iphone(arm)库链接.
要解决这个问题,你应该为i386和arm编译库libICodeMathUtils.a.
在查看了您所遵循的教程之后:在项目中集成静态库的更好方法是定义依赖项.你可以看看Xcode 4的这篇SO文章,以及Xcode 3的这篇文章(问题本身给出了步骤).
另一个选择是为i386(模拟器)和arm(设备)单独构建库,然后使用命令行工具lipo创建一个可以在MathTest项目中链接的胖库.检查man lipo以了解使用该工具.
编辑:关于你的评论
我的静态库没有在Target Dependencies中显示!!
您是否已将静态库从包含的项目树拖到目标?Xcode 3的步骤是:
将库项目添加为包含项目;
在包含的项目中找到静态库并将其拖到主目标上,将其添加为链接框架;
最后,在目标信息窗格中,您可以添加依赖项.
如果将目标添加到项目Scheme中,Xcode4似乎能够自动计算出依赖关系.您可以通过执行以下操作来执行此操作:编辑方案 - >构建 - >,然后从工作区添加目标.另见这个问题.
| 归档时间: |
|
| 查看次数: |
4702 次 |
| 最近记录: |