今天用XCODE编一个简单的LIB,编译OK,在另一个项目中加载.a文件总是出现所加载的.a文件被忽略。提示如下:
ld: warning: ignoring file /Users/Bing/Library/Developer/Xcode/DerivedData/SkyIOSLib-chovxzsxubiaitedgbrcncywfqdp/Build/Products/Debug-iphoneos/libSkyIOSLib.a, file was built for archive which is not the architecture being linked (i386): /Users/Bing/Library/Developer/Xcode/DerivedData/SkyIOSLib-chovxzsxubiaitedgbrcncywfqdp/Build/Products/Debug-iphoneos/libSkyIOSLib.a
仔细阅读了下,好像说的lib是非i386架构编译的,也就是说这个项目必须用386方式编译的lib(我的项目是模拟器的)。
原因找到了,从lib项目下手,目标架构不要用ARM而用386.
修改很简单,编译目标选择iPhone x.x Simulator就可以了
编译的目标文件在 Debug-iphonesimulator里,再放到项目里加载就没问题了
总结问题就是,模拟器需要用386架构编译,真机为ARM架构。