iOS - Undefined symbols for arch
2021-04-07 本文已影响0人
Joh蜗牛
问题:
项目中导入了pod 'GMObjC'(国密算法),真机运行正常,archive时报错:
Undefined symbols for architecture armv7:
xxxxxx.........
ld: symbol(s) not found for architecture armv7
clang: error: linker command failed with exit code 1 (use -v to see invocation)
报错如图:
报错图示 报错图示
解决方法:
在Build Setting中,找到【Valid Architectures】,去除armv7及armv7s,仅保留arm64、arm64e,重新编译,即可成功。(TARGETS中三个均修改,或仅修改第一个 都可)
如图:
报错时内容 修改后内容
记录
网上找到的解决方法:
常见的情况是,项目引用了一个第三方库(比如从pod来的库),而这个第三方库打包的时候只支持armv7s和armv7,而项目有使用arm64打包,这个时候就会由于无法link,而报错Undefined symbols
解决的办法是,或者重新打包第三方库,加入arm64;或者自己的项目去掉arm64
而我的项目是去除armv7及armv7s后,即可成功
参考文章:http:/blog。sina。com.cn/s/blog_134451adb0102wg7w。html