iOS静态库Xcode(链接错误)

时间:2013-02-05 17:40:36

标签: ios xcode linker static-libraries

我用Xcode创建了一个静态库,我编译了选择一个设备。

我将此添加到Xcode 4.6中的库测试项目

但在链接期间我总是有2个错误...

我遵循了本教程:Static Library iOS Tutorial

如果我下载示例代码,我会遇到同样的错误:

  

ld:警告:忽略文件/Users/Downloads/ICodeBlogStaticLibrarySample/MathTest/Classes/iCodeBlogsMathLibrary/libICodeMathUtils.a,文件中缺少必需的体系结构i386 /Users/Downloads/ICodeBlogStaticLibrarySample/MathTest/Classes/iCodeBlogsMathLibrary/libICodeMathUtils.a(2片)   架构i386的未定义符号:     “_OBJC_CLASS _ $ _ MathFunctions”,引自:         MathTestAppDelegate.o中的objc-class-ref   ld:找不到架构i386的符号   clang:错误:链接器命令失败,退出代码为1(使用-v查看调用)

4 个答案:

答案 0 :(得分:1)

我曾经做过一个静态库,我遇到了同样的问题。 解决方案是“在设备上运行应用程序”而不是在模拟器上,它工作正常然后!!! 希望这会有所帮助...

答案 1 :(得分:1)

我按照这个一步一步的教程:

Tutorial

特别是我必须添加这些标志:-ObjC-all_load

答案 2 :(得分:1)

您在构建项目时必须选择iOS模拟器。选择iOS设备,它应该没问题。

答案 3 :(得分:0)

阅读并尝试理解错误信息,这是一个有意义的英语短语。

  

未找到架构i386的符号

因此库中没有i386架构的编译代码。这意味着要么只为ARM编译(对于实际的iOS设备,如iPhone或iPad),要么为64位模拟器(x86_64)编译。使用otool查找库中存在的体系结构。