我已经构建了我自己的静态 C++ 库,它是使用以下设置构建的:
库项目构建良好,我得到了 .a 文件(我已经清理了构建文件夹并再次构建项目以确保我的设置有效)。
我已将库(.a 文件)添加到我的 iOS 项目,但即使我在 iOS 项目上设置了完全相同的设置,项目也不会构建:
我一直收到这个错误:
ld: warning: ignoring file /Users/hidden/Library/Developer/Xcode/DerivedData/HelloWorldCppLib-fomvvtklwijvqicyhahxleiscein/Build/Products/Debug-iphoneos/libHelloWorldCppLib.a, file was built for archive which is not the architecture being linked (armv7s): /Users/hidden/Library/Developer/Xcode/DerivedData/HelloWorldCppLib-fomvvtklwijvqicyhahxleiscein/Build/Products/Debug-iphoneos/libHelloWorldCppLib.a
我错过了什么?它告诉我 .a 文件不是为 armv7s 构建的,但这正是我构建库时使用的设置。
最佳答案
我自己也遇到过类似的问题。 @graver的解决方案绝对有效。
问题是库是为 armv7 构建的而不是 armv7s .您可以使用 lipo <path/to/lib.a> -info 自行验证.
设置Build Active Architectures Only No 的选项解决了这个问题。
希望这对您有所帮助。
关于ios - 错误 : "File was built for archive which is not the architecture being linked (armv7s)",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14828693/