当前位置: 首页 > 工具软件 > libiphone > 使用案例 >

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

龙兴贤
2023-12-01

    由于项目工程比较老,使用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 就会成功啦。

 类似资料: