我正在尝试将Tesseract OCR库包含到我的Qt项目中。我已经按照指示做了每件事,但不起作用。
tesseract::TessBaseAPI *myOCR =
new tesseract::TessBaseAPI();错误-对`tesseract::TessBaseAPI::TessBaseAPI()'的未定义引用
就像我想的,这是连接问题,但我不确定。查看一下.pro文件(只有必要的代码):
unix|win32: LIBS += -L$$PWD/../../Tesseract-OCR/lib/ -llibtesseract302
INCLUDEPATH += $$PWD/../../Tesseract-OCR/include/tesseract
DEPENDPATH += $$PWD/../../Tesseract-OCR/include/tesseract
win32:!win32-g++: PRE_TARGETDEPS += $$PWD/../../Tesseract-OCR/lib/libtesseract302.lib
unix|win32: LIBS += -L$$PWD/../../Tesseract-OCR/lib/ -lliblept168
INCLUDEPATH += $$PWD/../../Tesseract-OCR/include/leptonica
DEPENDPATH += $$PWD/../../Tesseract-OCR/include/leptonica
win32:!win32-g++: PRE_TARGETDEPS += $$PWD/../../Tesseract-OCR/lib/liblept168.lib
DEFINES += _tagBLOB_DEFINED
DEFINES += USE_STD_NAMESPACE
DEFINES += WINDLLNAME=\\\"lib$$TARGET.dll\\\"
DEFINES += VERSION=\\\"$$VERSION\\\"
DEFINES -= UNICODE
INCLUDEPATH += C:/Tesseract-OCR/tesseract-ocr/api
INCLUDEPATH += C:/Tesseract-OCR/tesseract-ocr/ccmain
INCLUDEPATH += C:/Tesseract-OCR/tesseract-ocr/ccutil
INCLUDEPATH += C:/Tesseract-OCR/tesseract-ocr/ccstruct
INCLUDEPATH += C:/Tesseract-OCR/tesseract-ocr/include
LIBS += C:/Tesseract-OCR/lib/liblept168-static-mtdll.lib
LIBS += C:/Tesseract-OCR/lib/giflib416-static-mtdll.lib
LIBS += C:/Tesseract-OCR/lib/libjpeg8c-static-mtdll.lib
LIBS += C:/Tesseract-OCR/lib/libtiff394-static-mtdll.lib
LIBS += C:/Tesseract-OCR/lib/zlib125-static-mtdll.libTessBaseAPI的每个函数都有相同的错误。
发布于 2017-08-10 06:15:15
首先:“未定义引用”意味着liker无法找到合适的静态库,所以请看这个方向。
根据这的说法,这和这需要libtesseract.lib (.a),也需要liblept.lib (.a)。
我建议一开始不要太喜欢.pro文件,只需构建并运行一个最小值(我怀疑它只需要这两个库,可能还需要一些DLL)。
此外,我建议指定您希望在.pro文件中链接的库,如下所示:
LIBS += -L" C:/Tesseract-OCR/lib/" -llept或者更好的是这样(如果您的库被复制到您的项目文件夹中)
LIBS += -L" $$_PRO_FILE_PWD_/Tesseract-OCR/lib/" -llept但不是这样的
LIBS += C:/Tesseract-OCR/lib/liblept.libhttps://stackoverflow.com/questions/31041323
复制相似问题