今天在下沉播放器库的时候,遇到一个连接时的符号重复错误
duplicate symbol '_ALI_PLAYER_INFO' in:
/Users/hyf/Library/Developer/Xcode/DerivedData/reading-afktzynodwkybaehqyvlpcmoguzs/Build/Intermediates.noindex/reading.build/Debug-iphoneos/reading.build/Objects-normal/arm64/TKVideoControlBarView1.o
/Users/hyf/Library/Developer/Xcode/DerivedData/reading-afktzynodwkybaehqyvlpcmoguzs/Build/Products/Debug-iphoneos/PFLVideoPlayer/libPFLVideoPlayer.a(TKVideoControlBarView.o)
ld: 1 duplicate symbol for architecture arm64
经mach-o view调查,果然有一个_ALI_PLAYER_INFO符号
image.png由于是一个静态全局变量,所以在全局符号表中也有。
image.png
根据mach-o符号的变量规则,去掉前面_就是变量名,所以ALI_PLAYER_INFO就是了,找到同样的静态变量名称,修改掉即可。
同时,我们用vim 打开view1.o文件
image.png
看到也确实有这样的一个符号写在里面,而且.o文件中其实是把方法名、静态变量名等放在了同一块位置,也就是符号表。
这些符号信息,就是.o文件的symbol table位置
image.png
如果给你带来一点点帮助或启发,劳烦点个赞支持下博主~~
over
网友评论