集成第三方遇到: linker command failed with exit code 1

集成第三方SDK时候遇到了clang: error: linker command failed with exit code 1 (use -v to see invocation)错误,在网上也找了好多资料,遇到的问题和我的不一样。

这是我项目遇到的错误:

集成第三方遇到: linker command failed with exit code 1_第1张图片
37ADD1A7-50F3-4B48-A408-AAA0C9D3914B.png

这是用双指按触摸板,会弹出如下提示(选择Reveal in Log 选项):

集成第三方遇到: linker command failed with exit code 1_第2张图片
9F232381-B93F-4A95-9240-78257C5B0BD2.png

会进入到错误的详细内容,如下:

集成第三方遇到: linker command failed with exit code 1_第3张图片
41A8472C-A840-44C8-92E0-0B53F613AA31.png

注意错误的上一句话:

duplicate symbols for architecture x86_64 (译:在x86_64体系下有重复的符号)
大白话:你的项目里有重复的文件名
还有一些这样问题链接

在我反复确认下,是这个新导入第三方SDK与我项目中已存在的SDK 的文件冲突了,上图中得部分文件也能清楚的确认是AlipaySDK这个SDK与我新集成的SDK中得UTDID文件冲突了,在与第三方开发确认后删除了冲突的UTDID包,至此程序可以正常的运行了!

结语:正常开发中也可能遇到这样的问题,有的是一些第三方SDK 引入其他类的时候没有修改类名导致,在我们自己设计第三方SDK 给别人用的时候,一定要对引入的类都加入我们的类前缀,这样别人在使用的时候冲突的可能性会大大的减小。

你可能感兴趣的:(集成第三方遇到: linker command failed with exit code 1)