CMake用于Tesseract和OpenCV

3
我是Linux编程的新手,正在尝试在Ubuntu 12.10上使用TesseractOpenCV创建OCR应用程序。到目前为止,我已经在Linux上设置了tesseractOpenCV,并且我已经按照这个tutorial进行了操作,在这个教程中,我发现我们可以很容易地创建一个文件CMakeList.txt并在其中链接OpenCV。
现在我正在尝试使用this code编译tesseract-ocr库。据我所知,我没有在tesseract-ocr和我的代码之间建立链接,这就是我出现错误的原因。
我想要并在寻找的是是否可以在一个文件中使用CMake链接TesseractOpenCV,如果可能的话。由于我对Linux完全不熟悉,所以最好提供一份教程。先行谢过。
1个回答

6
我写了一个像这样的 CMakeLists.txt
cmake_minimum_required (VERSION 2.6)
project (test-ocr)

# Add the including directory of the tesseract 
# and please replace with your dir.
include_directories (/home/ytxie/include)
# Add the search directory for the tesseract library 
# and please replace with your dir.
link_directories (/home/ytxie/lib)

add_executable (test-ocr test.cpp)

# link the leptonica library and the tesseract library
target_link_libraries (test-ocr lept tesseract)

我已经添加了注释,现在看起来很容易理解了。 test.cpp 只是 那个示例代码
如果您想在这个 CMake 文件中添加与 OpenCV 相关的设置,只需添加即可。如果有一些令人困惑的地方,请阅读 CMake 的文档
注意:为了使 test-ocr 成功运行,您应该下载 英文数据 并将其内容复制到 /share/tessdata 中。

感谢您的回答,我有两个问题。我需要同时包含和链接“tesseract”和“lept”目录吗?我正在尝试使用命令pkg-config --cflags tesseractpkg-config --cflags lept查找库,但是它会抛出错误。我不知道这些库确切的位置,因为我已经多次安装了它们。 - Muaz Usmani
@MuhammadMaaz 有一些由 ldconfig 定义的链接搜索目录,你可以通过谷歌来获取更多信息。在我的电脑上,lept 已经安装在 /usr/lib 中,这个路径已经被 ldconfig 定义为搜索集合之一,所以我不需要特别添加它。但是,我将 tesseract 安装在了我的主目录中,这个路径并没有被包含在上述搜索集合中,因此我必须告诉 CMake 如何找到这个库。 - Yantao Xie
@MuhammadMaaz 对不起,我不知道为什么 pkg-config --cflags lept 返回错误。pkg-config 通过在诸如 /usr/lib/pkgconfig/usr/local/lib/pkgconfig 等目录中查找相应的 pc 文件来查找库的信息。但我不知道为什么没有 liblept.pc 文件。 - Yantao Xie

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接