微信SDK 接入xcode构建时,libiPhone-lib.a报错的问题

二次信任 提交于 2020-03-17 01:21:55

    由于项目工程比较老,使用unity5.6.6f2版本,而mac已升级,导致unity在Mac机上打不开unity,只要项目中存在音频文件就卡死。而创建新工程也显示不正常。试过了网上说的在MAC电脑上分区,还是不行。所以暂时使用windows构建xcode工程,然后再mac电脑上继续编辑生成App。

    再接入微信sdk时,文档说明需要再Build Setting  "Other Linker Flags"中添加"-ObjC"和"-all_load",而只要加上这两个,xcode构建时就会有报错,内容如下

ld: warning: arm64 function not 4-byte aligned: _unwind_tester from /Users/xxx/Desktop/xxx/Libraries/libiPhone-lib.a(unwind_test_arm64.o)
duplicate symbol _XXH32 in:
    /Users/xxx/Desktop/xxx/Libraries/libiPhone-lib.a(xxhash.o)
    /Users/xxx/Desktop/xxx/Libraries/Plugins/iOS/luabase.a(xxhash.o)
ld: 12 duplicate symbols for architecture arm64
clang: error: linker command failed with exit code 1 (use -v to see invocation)

    大致意思是字节未对齐,于是再网上搜处理方式,很多人说需要添加一些framework库,或者是升级xcode版本之类的。

    后来看了添加的那两个Linker flag, "-all_load"会强制链接器把目标文件都加载进来,我们只需要改成"-force_load",并在后面添加我们的静态库文件完整路径(把.a文件拖进 "Other Linker Flags"中),然后重新Build 就会成功啦。

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!