![Ошибка «Файл tesseract/baseapi.h» не найден при сборке opencv из исходного кода на macOS](https://rvso.com/image/1592549/%D0%9E%D1%88%D0%B8%D0%B1%D0%BA%D0%B0%20%C2%AB%D0%A4%D0%B0%D0%B9%D0%BB%20tesseract%2Fbaseapi.h%C2%BB%20%D0%BD%D0%B5%20%D0%BD%D0%B0%D0%B9%D0%B4%D0%B5%D0%BD%20%D0%BF%D1%80%D0%B8%20%D1%81%D0%B1%D0%BE%D1%80%D0%BA%D0%B5%20opencv%20%D0%B8%D0%B7%20%D0%B8%D1%81%D1%85%D0%BE%D0%B4%D0%BD%D0%BE%D0%B3%D0%BE%20%D0%BA%D0%BE%D0%B4%D0%B0%20%D0%BD%D0%B0%20macOS.png)
Я собираю игру 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 это решается с помощью homebrew: brew install tesseract
Заметки об этом в любом случае относятся к 2015 году и не оказали никакого влияния. Указания по преодолению этой конкретной ошибки на пути к созданию opencv
на macos были бы признательны.
решение1
После небольшого изменения моего запроса в Google последнее предложение действительно работает -https://github.com/justadudewhohacks/opencv4nodejs/issues/179- вручную добавить заголовок include вCPATH:
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), возможно, это поможет вам. OpenCV с поддержкой Java Руководство по OpenCV OSX
Дополнительно я сделал поддержку JAVA здесь: И запустите make с пользовательским путем TESSERACT
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