在为iPhone编译时操作系统是否重要?

时间:2009-09-08 08:22:03

标签: iphone-sdk-3.0 static-libraries

我在iPhone开发上相当新,我正在尝试为我的项目添加一些静态库,但是我得到了“未找到符号”错误。

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

我是否需要在Mac上编译代码? 我需要哪些工具才能编译它们?

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

我收到以下错误代码:

ld警告:在/Users/<>/Playground/Collage/libbaseapi.a中,文件不是必需的架构 ld警告:在/Users/<>/Playground/Collage/capseng.a中,文件不是必需的架构 ld警告:在/Users/<>/Playground/Collage/excodecs.a中,文件不是必需的架构 ld警告:在/Users/<>/Playground/Collage/fmautorama.a中,文件不是必需的架构 ld警告:在/Users/<>/Playground/Collage/fmclearshot.a中,文件不是必需的架构 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警告:在/Users/<>/Playground/Collage/fmspeedview.a中,文件不是必需的架构

未定义的符号:   “_caps_destroyBuffer”,引自:        - CollageMainView.o中的[CollageMainView drawRect:] ld:找不到符号 collect2:ld返回1退出状态           “_caps_destroyBuffer”,引自:                - CollageMainView.o中的[CollageMainView drawRect:]         ld:找不到符号         collect2:ld返回1退出状态 构建失败(1错误)

BR, 安德烈亚斯

2 个答案:

答案 0 :(得分:0)

您无法将自定义(已编译)库添加到iPhone应用程序。您应该始终在项目中包含源代码。

答案 1 :(得分:0)

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