我有一个基本的空QT5.8项目,我想集成特塞尔库来处理这个问题。我找不到任何完整的步骤说明如何做到这一点,所以我希望有人能分享经验。
我想在我的代码中使用这样的东西:
#include <tesseract/baseapi.h>
#include <leptonica/allheaders.h>我知道我需要向.pro文件(例如LIBS、HEADERS)添加一些额外的说明,但我不知道是否有任何正确的方法可以做到这一点。
QT5.8
Windows 10
MinGW 32位
发布于 2017-05-05 11:27:13
"with Qt“部分是多余的,您实际上不需要”使用Qt“来使用泛型库。
库需要使用相同的,或者至少是二进制兼容的编译器来构建。实际的构建指令可以找到这里。
至于Qt文件,您只需单击左侧栏(项目树)中的项目名称和"Add“,然后根据您使用的lib类型遵循向导。
它将以下列格式产生必要的项目定义:
win32:CONFIG(release, debug|release): LIBS += -L$$OUT_PWD/../../../projects/mylib/release/ -lmylib
else:win32:CONFIG(debug, debug|release): LIBS += -L$$OUT_PWD/../../../projects/mylib/debug/ -lmylib
else:unix: LIBS += -L$$OUT_PWD/../../../projects/mylib/ -lmylib
INCLUDEPATH += $$PWD/../../../projects/mylib
DEPENDPATH += $$PWD/../../../projects/mylib
win32:CONFIG(release, debug|release): PRE_TARGETDEPS += $$OUT_PWD/../../../projects/mylib/release/mylib.lib
else:win32:CONFIG(debug, debug|release): PRE_TARGETDEPS += $$OUT_PWD/../../../projects/mylib/debug/mylib.lib
else:unix: PRE_TARGETDEPS += $$OUT_PWD/../../../projects/mylib/libmylib.a 发布于 2019-06-05 12:09:24
Ubuntu和MacOS
可以找到这里,并在Ubuntu的.pro中添加以下行:
INCLUDEPATH += /usr/local/include/tesseract
INCLUDEPATH += /usr/local/include/leptonica
LIBS += -ltesseract -lleptWindows
您应该编译tesseract项目,并且可以找到完整的逐步指令( 这里 )。
win32:CONFIG(release, debug|release): LIBS += -L'C:/Program Files/tesseract/lib/' -ltesseract50
else:win32:CONFIG(debug, debug|release): LIBS += -L'C:/Program Files/tesseract/lib/' -ltesseract50d
INCLUDEPATH += 'C:/Program Files/tesseract/include'发布于 2017-05-11 09:55:28
我曾经在一个也使用OpenCV的项目中这样做过一次,在Tesseract还没有进入稳定的分支之前。这使得我可以省略所有的图像读取库,因为我会通过OpenCV完成这些工作。最后,我通过Cygwin编译了Tesseract,但这使我可以在我的MinGW32项目中使用二进制兼容的库。
我大部分时间都跟随着http://vorba.ch/2014/tesseract-cygwin.html。我将Leptonica 1.72配置为:
./configure --without-giflib --without-zlib --without-libpng --without-jpeg --without-libtiff --without-libwebp --without-libopenjpeg如果在cygwin下编译轻子子,源路径中不能有任何空格,否则就会出现偏离“\”错误。
要编译tesseract本身,您将发现MinGW不提供strtok_r.h。但是,Tesseract包含了strtok_r.cpp的一个版本,因此最简单的修复方法是编辑ambigs.cpp并将#include "strtok_r.h“替换为函数签名:
char *strtok_r(char *s, const char * sep, char ** p);MinGW在math.h中有一个关于_hypot函数的错误。用issue (没有下划线)替换它解决了这个问题。
这是我当时为自己记录的所有东西。如果您有什么问题,请告诉我,这样我就可以知道我是否忘了包括任何东西。
https://stackoverflow.com/questions/43737452
复制相似问题