最近在开发的时候需要用到微信的分享,于是去下载了微信的Demo下来,一运行就吓一跳,23个错误,这个也太不靠谱了吧,没办法只能看看到底错误是哪些。先看错误
{<5>} 错误
ld: warning: ignoring file /Users/mrche/Downloads/WeChat_SDK_Sample/SDKExport/libWeChatSDK.a, missing required architecture i386 in file /Users/mrche/Downloads/WeChat_SDK_Sample/SDKExport/libWeChatSDK.a (2 slices)
这说明你的这个library文件是为Device (ARM架构)设计的,不支持Simulator (i386架构)
为了验证我的想法,打开终端,输入
sudo lipo -info libWeChatSDK.a
输出
Architectures in the fat file: libWeChatSDK.a are: armv7 arm64
看来是只支持armv7 和arm64 不支持i386,这肯定不能在虚拟机上运行,
{<4>} 终端解决方法一:
直接真机调试。
解决犯法二:
下载支持i386deSDK
于是又去官网下载最新的SDK
同样的来查看一下
Architectures in the fat file: libWeChatSDK.a are: armv7 i386 x86_64 arm64
这就对了嘛,于是替换libWeChatSDK.a
C+R运行,成功。
其中关于SDK的还有几个坑,
2.有时候工程里出现了以下问题:
Undefined symbols for architecture x86_64:
"operator delete", referenced from:
+[WeChatApiUtil EncodeBase64:] in libWeChatSDK.a(WeChatApiUtil.o)
解决方法:
加上libc++.dylib
3.directory not found for option “xxxxxxxx” 文件路径未找到
选择工程, 编译的 (targets)
选择 Build Settings 菜单
查找 Library Search Paths 和 Framework Search Paths, 删掉编译报warning的路径即OK
这虽然只是个警告,但是看着不爽啊,我们开发是要追求极致,怎么能容许警告的存在呢。
网友评论