Tesseract中的_main重复符号libtesseract_all.a(svpaint.o)

时间:2014-04-06 02:31:58

标签: ios duplicates main tesseract symbols

我从Github克隆了“iPhone-OCR-Tesseract-and-OpenCV”项目,安装了它的pod,编译了文件,效果很好。

但是,我尝试将pod文件与现有文件合并并编译,我有一个显示的问题

duplicate symbol _main in:
    /Users/ivanlin/Library/Developer/Xcode/DerivedData/MailTracker-duddjrlaosmnafgcbrqibnzstqws/Build/Intermediates/MailTracker.build/Debug-iphoneos/MailTracker.build/Objects-normal/armv7/main.o
    /Users/ivanlin/Documents/Projects/MailTracker/Pods/Tesseract/lib/libtesseract_all.a(svpaint.o) ld: 1 duplicate symbol for architecture armv7 clang: error: linker command failed with exit code 1 (use -v to see invocation)

似乎Tesseract库中还有另一个主要功能。

我想知道为什么这个问题没有出现在原始项目中。 我尝试比较原始项目和我的可能的编译和链接选项,并且没有任何线索。

如果有人有解决此问题的经验,请稍微帮忙。我将非常感激。

非常感谢。

1 个答案:

答案 0 :(得分:2)

回答我自己的问题。

我找到了根本原因,与重新包含主文件无关。

比较" iPhone-OCR-Tesseract-and-OpenCV"和我自己的项目,我发现我的项目有一个额外的链接器选项,即" load_all"。

删除这个" load_all"选项,问题就消失了。

我不确定为什么会出现问题,但在我的情况下这是一个解决方案。