iOS duplicate symbol 'xxx' in报错

2021-07-14  本文已影响0人  浅_若清风

最近做的一个项目,因为IOS不支持动态库上架,所以不能像Android一样直接动态加载so库,嵌套了许多C++代码。编译时出现了394 个duplicate symbol ’xxx‘错误,感觉要崩溃了。

...
duplicate symbol 'sleep(int)' in:
    /Users/tdinnet/Library/Developer/Xcode/DerivedData/HumzorNL100-cemcwkenaocomlhjsnvgrfaflqde/Build/Intermediates.noindex/HumzorNL100.build/Debug-iphonesimulator/HumzorNL100.build/Objects-normal/x86_64/BMW_ResetCommon.o
    /Users/tdinnet/Library/Developer/Xcode/DerivedData/HumzorNL100-cemcwkenaocomlhjsnvgrfaflqde/Build/Intermediates.noindex/HumzorNL100.build/Debug-iphonesimulator/HumzorNL100.build/Objects-normal/x86_64/DASReset_ResetCommon.o
ld: 394 duplicate symbols for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)

以上意思是说"BMW_ResetCommon"文件和"DASReset_ResetCommon"文件有相同的方法名"sleep(int)",解决的方法也很简单,只要修改其中一个类中的"sleep(int)"方法名即可。

上一篇 下一篇

猜你喜欢

热点阅读