CommonCrypto不是为arch armv7 iOS构建的
我刚刚升级到新的XCode.升级后,我的一些应用程序将无法构建.我得到这个错误:
ld: cannot link directly with /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS6.0.sdk/usr/lib/system/libcommonCrypto.dylib. Link against the umbrella framework 'System.framework' instead. for architecture armv7 clang: error: linker command failed with exit code 1 (use -v to see invocation) 我试过一切 – 清洁,重新导入,改变架构… 请帮忙 解决方法
我在尝试了上述两个都不适用于我之后,以一种不同的方式解决了这个问题.
问题是,当我从主界面(主要的构建设置…等)添加库时,我最初正在搜索加密,然后两个lib都会返回libcorecrypto.dylib和liblibcommonCrypto.dylib,如果你注意到,这两个都存在与通常添加的通常是yello色的库不同的是灰色.添加这些会导致编译器返回(还有一些其他的libs丢失,比如libz,或者另外一个需要更多的函数的lib. 如果您注意到上述两个lib通常都位于JavaScriptCore.framework库(这是黄色库)下,因此,通过删除上述两个并添加JavaScriptCore.framework,问题已解决,构建成功显示 还要提到,基于在JavaScriptCore.framework中作为捆绑包存在的灰色库,libcrypto和另一个不存在于/Library/…/system/path,如上所述,即您没有删除他们从你的系统,他们只是不在那里. 同样,解决方案是: *从您的主要XCODE项目设置,不要添加:* dd libcorecrypto.dylib liblibcommonCrypto.dylib 相反,添加: JavaScriptCore.framework 在你的.m(代码)中,通常要做的是: #include <CommonCrypto/CommonDigest.h> (or any of your other libs as needed in code)... 它应该工作正常 我希望这有帮助. 亲切的问候 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |