gpt4 book ai didi

iphone - 将静态库添加到一个项目时出错

转载 作者:塔克拉玛干 更新时间:2023-11-01 21:14:55 24 4
gpt4 key购买 nike

我正在尝试使用 this 在我的 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

我可能遗漏了什么?

最佳答案

你似乎是在为模拟器构建,它对应于 i386 架构,但你只是链接到一个 iphone (arm) 库。

要解决这个问题,您应该为 i386 和 arm 编译库 libICodeMathUtils.a。

看完教程后:在项目中集成静态库的更好方法是定义依赖项。你可以看看这个 S.O. Xcode 4 的文章, 而这一个为 Xcode 3 (问题本身给出了步骤)。

您的另一个选择是分别为 i386(模拟器)和 arm(设备)构建您的库,然后使用命令行工具 lipo 制作一个可以链接到您的 MathTest 项目中的胖库.查看 man lipo 了解如何使用该工具。

编辑:关于您的评论

My static library does not show in Target Dependencies !!

你把静态库从included project tree拖到target了吗? Xcode 3 的步骤是:

  1. 将库项目添加为包含项目;

  2. 在包含的项目中找到静态库并将其拖到您的主要目标上,将其添加为链接框架;

  3. 最后,在您的目标信息 Pane 中,您可以添加依赖项。

Xcode4 似乎能够自动找出依赖项,前提是将目标添加到项目 Scheme 中。您可以通过执行以下操作来完成此操作:Edit Scheme -> Build -> 然后从您的工作区添加目标。另见 S.O. question .

关于iphone - 将静态库添加到一个项目时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6322457/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com