iOS条件链接静态库

iOS条件链接静态库,ios,xcode,linker,static-libraries,armv7,Ios,Xcode,Linker,Static Libraries,Armv7,我有一个为armv7和i386编译的胖静态库。在我的iPhone/iPad项目中,一切正常,但我只能在armv7设备上安装我的应用程序,所以iPhone3GS和更高版本 有一种方法可以在armv6上运行我的项目,这样我就可以在ipod touch和旧版iphone上安装它(如果我禁用了armv7库的话) 我试试这个: #ifdef _ARM_ARCH_7 ... //include and use of armv7 library #else ... //not include armv7 li

我有一个为armv7和i386编译的胖静态库。在我的iPhone/iPad项目中,一切正常,但我只能在armv7设备上安装我的应用程序,所以iPhone3GS和更高版本

有一种方法可以在armv6上运行我的项目,这样我就可以在ipod touch和旧版iphone上安装它(如果我禁用了armv7库的话)

我试试这个:

#ifdef _ARM_ARCH_7
... //include and use of armv7 library
#else
... //not include armv7 library
#endif
但当我编译我的项目时,我有链接错误

命令/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/clang++失败,退出代码为1

所以有一种方法可以在所有类型的设备上运行我的应用程序,但在为armv7编译时链接特定的库


谢谢你的帮助

您需要弱链接该库。打开生成设置并查找其他链接器标志。您需要添加两个条目,第一个是“-weak_library”,第二个是库文件的路径(您可能需要搜索传递给链接器的内容以找到这是什么)


它们必须按此顺序排列,因为此列表将按显示顺序转换为链接器的参数。

您现在如何将静态库包括在项目中?您是在项目设置中使用
-l
(例如
-l libmyfatbrary
),还是将静态库拖动到要链接的库和框架的文件列表中?我将fat库拖动到文件列表中。。。工作很好。我尝试使用-l选项?