2009-09-08 80 views
0

我相当新的iPhone开发,我目前正试图添加一些静态库到我的项目,但我得到“符号(S)没有找到”的错误。为iPhone编译时操作系统是否重要?

我已经搜索了这个问题,并尝试了不同的解决方案,没有任何运气。这些库是在PC上编译的,而不是在Mac上,所以我的问题是:

我是否需要在Mac上编译代码? 我需要什么工具来编译它们?

我已经将标题包含到项目中。我试图链接到的代码用c编写,并为ARM GCC 4.2编译。

我收到以下错误代码:

LD警告:在/用户/ <> /Playground/Collage/libbaseapi.a,文件是所需的体系结构 LD警告的不是:在/用户/ <> /游乐场/Collage/capseng.a,文件不是必需的架构 ld警告:在/ Users/<> /Playground/Collage/excodecs.a,文件不是必需的架构 ld警告:在/ Users/<>/Playground /Collage/fmautorama.a,文件不是必需的架构 ld警告:在/ Users/<> /Playground/Collage/fmclearshot.a,文件不是必需的架构师ure ld警告:在/ Users/<> /Playground/Collage/fmexif.a,文件不是必需的架构 ld警告:在/ Users/<> /Playground/Collage/fmextencoder.a,文件不是必需的架构 ld警告:在/ Users/<> /Playground/Collage/fmfacewarp.a,文件不是必需的架构 ld警告:在/ Users/<> /Playground/Collage/fmfxplugin.a,文件不是必需的架构 ld警告:在/ Users/<> /Playground/Collage/fmimageenhance.a,文件不是必需架构 ld警告:在/ Users/<> /Playground/Collage/fmimagefusion.a,文件不是必需的架构 ld警告:在/ Users/<> /Playground/Collage/fmjpegsqueeze.a,文件不是必需的体系结构 ld警告:在/ Users/<> /Playground/Collage/fmjpegtools.a,文件不是必需的体系结构 ld警告:在/ Users/<> /Playground/Collage/fmphotoart.a,文件不是必需的体系结构 ld警告:在/ Users/<> /Playground/Collage/fmredaway.a,文件不是必需的体系结构 ld警告:在/ Users/<> /Playground/Collage/fmsemc.a,文件是不要求架构 LD警告:在/用户/ <> /Playground/Collage/fmspeedview.a,文件是所需的体系结构

未定义的符号不: “_caps_destroyBuffer”,从引用: - [CollageMainView的drawRect:]在CollageMainView.o LD:符号(多个)未发现 collect2:LD返回1个退出状态 “_caps_destroyBuffer”,从引用: - [CollageMainView的drawRect:在CollageMainView.o LD:符号(S)没有发现 collect2:LD返回1个退出状态 构建失败(1个错误)

BR, 安德烈亚斯

+0

如果您发布完整的错误消息,它可能会有所帮助。 – 2009-09-08 08:24:50

回答

0

你不能添加自定义(编译)库到iPhone应用程序。您应该始终在您的项目中包含源代码。

+0

不能或不允许? – drisse 2009-09-08 08:47:20

+0

嗯,这在技术上是可行的,但根据iPhone开发者文档,这是不允许的。 – 2009-09-08 08:56:27

+0

我们的意图不是在App Store上发布我们的应用程序,我们只是做概念应用程序的教授。 如果你说的技术上是可行的,你知道这些库是在Mac上编译还是应该与在PC上编译的库一起工作?非常感谢您的帮助。 – drisse 2009-09-08 09:16:42

0

您需要将库的头文件添加到项目 中,或者如果它是缺少的框架,请将其添加到Xcode中的“框架”文件夹中。

+0

库的类型* .a是用c代码编写的,我通过将它们拖放到项目中来将它们包含到项目中。 – drisse 2009-09-08 08:48:34