gpt4 book ai didi

c++ - C++/Qt 中的 undefined reference 错误

转载 作者:太空宇宙 更新时间:2023-11-04 13:32:00 29 4
gpt4 key购买 nike

我正在尝试将 Tesseract OCR 库包含到我的 Qt 项目中。我已按照说明进行了所有操作,但它不起作用。

tesseract::TessBaseAPI *myOCR =
new tesseract::TessBaseAPI();

错误 - 对 `tesseract::TessBaseAPI::TessBaseAPI()' 的 undefined reference

我认为是链接问题,但我不确定。查看.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.lib

TessBaseAPI 的每个函数都有相同的错误。

最佳答案

首先:“undefined reference”表示喜欢的人找不到合适的静态库,所以看这个方向。

根据 this , thisthis Tesseract 需要 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.lib

关于c++ - C++/Qt 中的 undefined reference 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31041323/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com