无法为arch armv7编译静态库

Cannot compile a static library for arch armv7

本文关键字:编译 静态 armv7 arch      更新时间:2023-10-16

我有一个静态库(非常简单,没有包含),它用"-arch i386"构建得很好,我可以使用这个库中的演示方法,一切都很好。像往常一样,我有一个。a文件链接到我的项目。

不幸的是,我想在iOS项目中使用这个库,所以当我使用iPhone模拟器时,一切都很好,使用"-arch i386"构建的库(因为这是模拟器使用的处理器)。如果我现在想用"-arch armv7"(或"-arch armv6")为我的基于arm的iPhone设备构建库,我在Eclipse和Xcode中得到相同的错误信息:(在Xcode中:)llvm-gcc-4.2失败,退出代码255。Eclipse中相同的退出代码(255)。使用"i386",一切都可以工作。

我必须在OSX Lion上安装除Xcode 4.2.1之外的任何东西来编译我的arm设备的lib吗?

问题在于Xcode 4为每个构建构建静态库,而不是一个统一的通用构建。所以我的猜测是,你只是添加构建调试模拟器,而不是调试设备。最好的办法是在静态库中添加一个脚本,将它们全部构建为一个。

这篇文章在SO上救了我的命。希望它对你也有帮助。