2016-06-30 10 views
1

Ich versuche meine Anwendung gegen Tesseract zu bauen, die ich durch brew installiert habe (funktioniert auf Mac OS X).cmake und tesseract, wie man mit cmake verbindet

Während ich meine Anwendung ohne Probleme mit g ++ und pkg-Config kompilieren kann, bin ich mir nicht sicher, wie man das gleiche mit cmake tut.

Ich versuchte FIND_PACKAGE tesseract erforderlich, aber es kann nicht scheinen, es zu finden. Hat jemand eine Probe CMakeLists.txt?

Schätzen Sie die Hilfe.

Antwort

1

Es scheint die einzige (oder die einfachste) Weg tesseract in Ihrem Projekt mit CMake zu verwenden ist Tesserakts Quellen (von here) Der Build mit den folgenden Schritten zum Download:

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

angeben "Tesseract_DIR" Umgebungsvariable in das Verzeichnis, das Sie gerade für tesseract erstellt haben.

Dann in der CMakeLists.txt Datei Ihres Projekts sollten Sie die folgenden Zeilen haben:

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. 

Nach dem alle nur Ihr Projekt mit cmake bauen.

0

Ich habe den folgenden Befehl findpkgconfig verwendet, es funktioniert für MacOS mit Brühpaketen.

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}) 
+0

Hey danke, ich werde das versuchen! – ATv

0

Da Sie gegen die Bibliothek verknüpfen und nicht ein installiertes Paket, können Sie es nur hinzufügen, wie Sie jede andere Bibliothek in Cmake verbinden würde

target_link_libraries(your_project tesseract) 

dies entspricht der Zugabe von -ltesseract zu Ihre g ++ - Befehlszeile