cmake和tesseract,如何使用cmake进行链接

时间:2016-06-30 16:04:41

标签: c++ opencv tesseract

我正在尝试针对tesseract构建我的应用程序,我已经通过brew安装(在mac os x上工作)。

虽然我可以使用g ++和pkg-config编译我的应用程序而没有问题,但我不知道如何使用cmake做同样的事情。

我尝试了FIND_PACKAGE tesseract REQUIRED,但它似乎无法找到它。有没有人有样品CMakeLists.txt?

感谢帮助。

4 个答案:

答案 0 :(得分:1)

使用CMake在您的项目中使用tesseract的唯一(或最简单)方法是下载tesseract源(来自here) 使用以下步骤构建:

cd <Tesseract source directory>
mkdir build
cd build
cmake ../
make
sudo make install

指定&#34; Tesseract_DIR&#34;环境变量到您刚为tesseract创建的目录。

然后在项目的CMakeLists.txt文件中,您应该有以下几行:

find_package( Tesseract 3.05 REQUIRED ) # 3.05 is currently the latest version of the git repository.
include_directories(${Tesseract_INCLUDE_DIRS})
target_link_libraries(<your_program_executable> ${Tesseract_LIBRARIES})  # you can link here multiple libraries as well.

在所有人用cmake构建你的项目之后。

答案 1 :(得分:0)

我使用了以下findpkgconfig命令,它适用于使用brew包的MacOS。

find_package( PkgConfig REQUIRED)

pkg_search_module( TESSERACT REQUIRED tesseract )

pkg_search_module( LEPTONICA REQUIRED lept )

include_directories( ${TESSERACT_INCLUDE_DIRS} )

include_directories( ${LEPTONICA_INCLUDE_DIRS} )

link_directories( ${TESSERACT_LIBRARY_DIRS} )

link_directories( ${LEPTONICA_LIBRARY_DIRS} )

add_executable( FOOBAR main )

target_link_libraries( FOOBAR ${TESSERACT_LIBRARIES} )

target_link_libraries( FOOBAR ${LEPTONICA_LIBRARIES} )

答案 2 :(得分:0)

由于您要链接库而不是已安装的软件包,因此您可以像将任何其他库链接到cmake一样添加它

target_link_libraries( your_project tesseract )

这相当于将-ltesseract添加到g ++命令行

答案 3 :(得分:0)

由于缺少代表而无法评论Long的答案,但使用

target_link_libraries( FOOBAR ${TESSERACT_LINK_LIBRARIES})

target_link_libraries( FOOBAR ${LEPTONICA_LINK_LIBRARIES})
在使用相同的findpkgconfig方法之后,

为我工作了。使用:

target_link_libraries( FOOBAR ${TESSERACT_LIBRARIES})

在编译时给我一个链接器错误