我刚刚升级到新的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)...
它应该工作正常
我希望这有帮助.
亲切的问候