现在很多移动端的开发者都会在app的应用中接入第三方的平台分享功能,我在使用过程中当然会首先去这些网站上去看集成的说明文档,在这里就不得不吐槽了,集成文档真的有用心在写么?!废话不多说,下面言归正传。
很多时候在集成这些文档的时候肯定会导入第三方架包,往往我们编译出错的问题也都是出现在这里,以此为例,首先你要明白编译器只是智能在编译,编译出错的结果提示有时候不是你问题错误的根源,如果一味的按照编译器的出错提示去寻求解决方案很可能会面临大海捞针的囧境。这里就总结几点常见的问题:
ld: warning: directory not found for option '-L/Users/jiangshuai/Documents/biuproject/IOS/QiangFuLi/QiangFuLi/3rd/UMSocial_Sdk_4.2.3'
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 TencentOpenAPI(AppidConvert.o)
"_deflate", referenced from:
+[MTAWXOHelper GZip:Out:] in libWeChatSDK.a(MTAWXOHelper.o)
"_deflateEnd", referenced from:
+[MTAWXOHelper GZip:Out:] in libWeChatSDK.a(MTAWXOHelper.o)
"_deflateInit2_", referenced from:
+[MTAWXOHelper GZip:Out:] in libWeChatSDK.a(MTAWXOHelper.o)
"_inflate", referenced from:
+[MTAWXOHelper GUnzip:Out:] in libWeChatSDK.a(MTAWXOHelper.o)
"_inflateEnd", referenced from:
+[MTAWXOHelper GUnzip:Out:] in libWeChatSDK.a(MTAWXOHelper.o)
"_inflateInit2_", referenced from:
+[MTAWXOHelper GUnzip:Out:] in libWeChatSDK.a(MTAWXOHelper.o)
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
不要被Undefined symbols for architecture x86_64:迷惑了 这里的出错问题其实是少了几个系统库文件
到此我觉得集成这些功能的时候,官网提供的集成demo很重要,看一下demo里面的 link binary with libraries 中具体引用了哪些系统类库 然后配合着集成文档去解决我们自己要解决的问题