0

我可以在 Cygwin 下成功编译两个项目(leptonica 和 tesseract)(使用提供的 configure+make)。

此外,我可以成功地将简单的“hello world”项目与 leptonica 库链接起来。

但是当我尝试将项目与 tesseract 链接时,会出现多个错误,如下所示:

08:05:30 **** Build of configuration Debug for project Try_Tesseract_01 ****
make all 
Building target: Try_Tesseract_01.exe
Invoking: Cygwin C++ Linker
g++ -L/usr/local/lib -o "Try_Tesseract_01.exe"  ./src/Try_Tesseract_01.o   -llept -ltesseract
/usr/local/lib/libtesseract.a(libtesseract_api_la-baseapi.o): In function `ZN9tesseract11TessBaseAPI7DumpPGMEPKc':
/cygdrive/d/Users/Dims/Design/Cygwin/tesseract-ocr/api/baseapi.cpp:674: undefined reference to `pixGetWidth'
/cygdrive/d/Users/Dims/Design/Cygwin/tesseract-ocr/api/baseapi.cpp:675: undefined reference to `pixGetHeight'
/cygdrive/d/Users/Dims/Design/Cygwin/tesseract-ocr/api/baseapi.cpp:676: undefined reference to `pixGetData'
/cygdrive/d/Users/Dims/Design/Cygwin/tesseract-ocr/api/baseapi.cpp:678: undefined reference to `pixGetWpl'
/usr/local/lib/libtesseract.a(libtesseract_api_la-baseapi.o): In function `ZN9tesseract11CubeAPITestEP4BoxaP4PixaS1_S3_RK6FCOORDP3PixP8PAGE_RES':
/cygdrive/d/Users/Dims/Design/Cygwin/tesseract-ocr/api/baseapi.cpp:697: undefined reference to `boxaGetCount'
/cygdrive/d/Users/Dims/Design/Cygwin/tesseract-ocr/api/baseapi.cpp:698: undefined reference to `pixaGetCount'

等等。

看起来 tesseract 库没有正确链接到 leptonica 库。可能是对象名称装饰不同或什么的。

如何检查/修复?

4

1 回答 1

0

http://mhoenicka.de/system-cgi/blog/index.php?itemid=2227

“现在我尝试正确构建 tesseract。我下载了 3.01 源代码。./configure 抱怨 leptonica 库存在但缺少特定功能(pixCreate,具体而言)。结果发现 tesseract(或者是 Cygwin?)确实没有在库搜索路径中包含/usr/local/lib,导致测试代码失败。”

也见

http://www.sk-spell.sk.cx/compiling-leptonica-and-tesseract-ocr-with-mingwmsys

于 2013-10-22T09:21:38.800 回答