.o 文件冲突解决方案


分解不同架构的.a文件
lipo -extract_family armv7 -output libUPAPayPlugin_armv7.a libUPAPayPlugin.a 
lipo -extract_family x86_64 -output libUPAPayPlugin_x86_64.a libUPAPayPlugin.a 
lipo -extract_family armv7 -output libUPAPayPlugin_armv7.a libUPAPayPlugin.a 
arm64 为特殊处理
lipo libUPAPayPlugin.a -thin arm64 -output libUPAPayPlugin_arm64.a
本例为银联sdk中Apple Pay和银联支付部分UPXRSA.o文件冲突,首先分解.o文件,后删除冲突文件
ar -x libUPAPayPlugin_armv7.a 

rm UPXRSA.o 
libtool -static -o libUPAPayPlugin_armv7_final.a *.o
rm *.o
ar -x libUPAPayPlugin_arm64.a 
rm UPXRSA.o 
libtool -static -o libUPAPayPlugin_arm64_final.a *.o
rm *.o
ar -x libUPAPayPlugin_x86_64.a 
libtool -static -o libUPAPayPlugin_x86_64_final.a *.o
rm UPXRSA.o 
rm *.o
ar -x libUPAPayPlugin_i386.a 
libtool -static -o libUPAPayPlugin_i386_final.a *.o
rm UPXRSA.o 
rm *.o

最后合并.a文件

lipo -create -output libUPAPayPlugin_final.a libUPAPayPlugin_armv7_final.a  libUPAPayPlugin_arm64_final.a libUPAPayPlugin_i386_final.a libUPAPayPlugin_x86_64_final.a 
hailaideMacBook-Pro:joina hailai001$ 
 
原文地址:https://www.cnblogs.com/helmsyy/p/5650901.html