文章标题

来源:互联网 发布:vb串口校验和 编辑:程序博客网 时间:2024/06/05 14:45

最近在开发的时候需要用到微信的分享,于是去下载了微信的Demo下来,一运行就吓一跳,23个错误,这个也太不靠谱了吧,没办法只能看看到底错误是哪些。先看错误

这里写图片描述

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,这肯定不能在虚拟机上运行,

解决方法一:
直接真机调试。

解决犯法二:
下载支持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

这虽然只是个警告,但是看着不爽啊,我们开发是要追求极致,怎么能容许警告的存在呢。

0 0
原创粉丝点击