在 macos 上從原始程式碼建置 opencv 時未找到錯誤“tesseract/baseapi.h”文件

在 macos 上從原始程式碼建置 opencv 時未找到錯誤“tesseract/baseapi.h”文件

opencv 4.1.0我從原始碼開始構建mojave,在出現上述錯誤之前它已達到 54%:

/git/opencv-4.1.0/opencv_contrib/modules/text/src/precomp.hpp:54:10:
  fatal error: 'tesseract/baseapi.h' file not found

有一個 github 問題位於https://github.com/otiai10/gosseract/issues/40:我已經應用了兩個推薦的補丁:

在 osx 上,可以使用自製程式解決此問題:brew install tesseract

無論如何,相關註釋是 2015 年的,沒有任何影響。如果您能在 Mac 上建置過程中解決這個特定錯誤,我們 opencv將不勝感激。

答案1

稍微改變我的谷歌搜尋查詢後,這裡的最後一個建議確實有效 -https://github.com/justadudewhohacks/opencv4nodejs/issues/179- 手動將標頭包含新增至路徑:

in my case cpp command was not aware of tesseract headers.
You can see cpp-includes with command cpp -v.

Solution for me was to make tesseract-includes availble by defining export CPATH="/usr/local/Cellar/tesseract/4.0.0_1/include" and then run the build command.

這可以應用於make命令:

  CPATH=/usr/local/Cellar/tesseract/4.0.0_1/include make -j4    

答案2

@javadba,謝謝您的解決方案。


對於 OSX macOS 使用者 (Mojave),也許會對你有幫助。支援 Java 的 OpenCV OpenCV OSX 指南

另外我在這裡做了 JAVA 支援:並使用自訂 TESSERACT 路徑啟動 make

 cmake -D CMAKE_BUILD_TYPE=RELEASE \
-D CMAKE_INSTALL_PREFIX=/usr/local \
-D OPENCV_EXTRA_MODULES_PATH=~/opencv_contrib/modules \
-D PYTHON3_LIBRARY=`python -c 'import subprocess ; import sys ; s = subprocess.check_output("python-config --configdir", shell=True).decode("utf-8").strip() ; (M, m) = sys.version_info[:2] ; print("{}/libpython{}.{}.dylib".format(s, M, m))'` \
-D PYTHON3_INCLUDE_DIR=`python -c 'import distutils.sysconfig as s; print(s.get_python_inc())'` \
-D PYTHON3_EXECUTABLE=$VIRTUAL_ENV/bin/python \
-D BUILD_LIBPROTOBUF_FROM_SOURCES=ON \
-D BUILD_opencv_python2=OFF \
-D BUILD_opencv_python3=ON \
-D BUILD_opencv_java=ON \
-D INSTALL_PYTHON_EXAMPLES=ON \
-D INSTALL_C_EXAMPLES=OFF \
-D OPENCV_ENABLE_NONFREE=ON \
-D BUILD_EXAMPLES=ON ..

 CPATH=/usr/local/Cellar/tesseract/4.1.0/include make 

相關內容