今天测试最新的微信iOS SDK, 仅仅是建了一个空的工程,把sdk加进去运行,就报了以下错误:
Undefined symbols for architecture x86_64: "operator delete[](void*)", referenced from: +[WeChatApiUtil EncodeBase64:] in libWeChatSDK.a(WeChatApiUtil.o) +[WeChatApiUtil NsDataEncodeBase64:] in libWeChatSDK.a(WeChatApiUtil.o) +[WeChatApiUtil DecodeWithBase64:] in libWeChatSDK.a(WeChatApiUtil.o) +[WeChatApiUtil DecodeBase64:] in libWeChatSDK.a(WeChatApiUtil.o) "operator new[](unsigned long)", referenced from: +[WeChatApiUtil EncodeBase64:] in libWeChatSDK.a(WeChatApiUtil.o) +[WeChatApiUtil NsDataEncodeBase64:] in libWeChatSDK.a(WeChatApiUtil.o) +[WeChatApiUtil DecodeWithBase64:] in libWeChatSDK.a(WeChatApiUtil.o) +[WeChatApiUtil DecodeBase64:] in libWeChatSDK.a(WeChatApiUtil.o) "___gxx_personality_v0", referenced from: Dwarf Exception Unwind Info (__eh_frame) in AppDelegate.o Dwarf Exception Unwind Info (__eh_frame) in main.o ld: symbol(s) not found for architecture x86_64 clang: error: linker command failed with exit code 1 (use -v to see invocation)
开始是怀疑微信sdk不支持xx架构,于是lipo(方法见xCode6制作动态及静态Framework的最后部分)了一下,发现是支持的。以前使用其他第三方的sdk时,也遇到过类似的问题,果断加上libc++.dylib,问题解决。