Проблема с Python.h при сборке OpenCV.cbp с Code :: Blocks - PullRequest
1 голос
/ 12 мая 2019

Я хотел установить Opencv и следовал этому уроку: https://medium.com/@sourabhjigjinni/install-opencv-4-0-0-for-c-windows-7-10-code-blocks-tdm-gcc-64-dff65addf162

Я следовал за ним шаг за шагом, встроил его в блоки кода, но примерно на 99% я получил ошибку: фатальная ошибка: Python.h: нет такого файла или каталога.

ПК: Windows 10, 64-битная, установлен Python3.

Я добавил полный путь к каталогу включения Python в разделе «Поиск каталогов» компилятора. Я проверил, был ли заполнен путь к python.exe и каталогу include при создании файлов Makefile с помощью Cmake. Я также проверил много форумов, но так и не нашел удовлетворительного ответа ...

[ 99%] Building CXX object modules/python3/CMakeFiles/opencv_python3.dir/__/src2/cv2.cpp.obj
cd /d C:\opencv\build\modules\python3 && C:\TDM-GCC-64\bin\g++.exe  -DCVAPI_EXPORTS -D_USE_MATH_DEFINES -D__OPENCV_BUILD=1 -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS @CMakeFiles/opencv_python3.dir/includes_CXX.rsp -fsigned-char -W -Wall -Werror=return-type -Werror=non-virtual-dtor -Werror=address -Werror=sequence-point -Wformat -Werror=format-security -Wmissing-declarations -Winit-self -Wpointer-arith -Wshadow -Wsign-promo -Wuninitialized -Winit-self -Wsuggest-override -Wno-delete-non-virtual-dtor -Wno-comment -fdiagnostics-show-option -Wno-long-long -fomit-frame-pointer -ffunction-sections -fdata-sections  -msse -msse2 -msse3 -fvisibility=hidden -fvisibility-inlines-hidden -Wno-unused-function -Wno-deprecated-declarations -Wno-overloaded-virtual -Wno-undef -O3 -DNDEBUG  -DNDEBUG   -std=c++11 -o CMakeFiles\opencv_python3.dir\__\src2\cv2.cpp.obj -c C:\opencv\source\opencv-4.1.0\modules\python\src2\cv2.cpp

C:\opencv\source\opencv-4.1.0\modules\python\src2\cv2.cpp:9:20: fatal error: Python.h: No such file or directory

compilation terminated.
mingw32-make.exe[2]: *** [modules/python3/CMakeFiles/opencv_python3.dir/__/src2/cv2.cpp.obj] Error 1
mingw32-make.exe[1]: *** [modules/python3/CMakeFiles/opencv_python3.dir/all] Error 2
mingw32-make.exe: *** [all] Error 2
modules\python3\CMakeFiles\opencv_python3.dir\build.make:62: recipe for target 'modules/python3/CMakeFiles/opencv_python3.dir/__/src2/cv2.cpp.obj' failed
mingw32-make.exe[2]: Leaving directory 'C:/opencv/build'
CMakeFiles\Makefile2:3512: recipe for target 'modules/python3/CMakeFiles/opencv_python3.dir/all' failed
mingw32-make.exe[1]: Leaving directory 'C:/opencv/build'
C:/opencv/build/Makefile:161: recipe for target 'all' failed
Process terminated with status 2 (0 minute(s), 37 second(s))
4 error(s), 0 warning(s) (0 minute(s), 37 second(s))

Ну, я попробовал все, что знал, чтобы компилятор знал, где находится Python.h, но, похоже, он не работает. Дайте мне знать, если вам нужно больше данных.

Ответы [ 2 ]

1 голос
/ 16 мая 2019

Хорошо, я перестроил все с нуля (удалил содержимое папки opencv / build + заново сгенерировал CMakeFiles с помощью Cmake), и он собрал сам себя без каких-либо ошибок. Мои ошибки : - Когда я впервые создавал OpenCV.cbp, мой путь к каталогу Python для включения в каталог не был указан в «директориях поиска» в code :: blocks. - После нескольких неудачных сборок я изменил свою версию Python и актуализировал все пути Python в Cmake и добавил путь include dir к code :: blocks

Проблема: OpenCV.cbp не учел все изменения, даже если перестроил его (idk почему), и продолжал запрашивать Python.h

Для решения проблемы: ПЕРЕД сборкой OpenCV.cbp, убедитесь, что пути python, указанные в Cmake, правильные, и добавьте каталог python include в code :: blocks "search directoryies", что не было в моем случае. Тогда построй!

0 голосов
/ 14 мая 2019

Кажется, что Cmake не может найти заголовочный файл Python.h в каталоге @Cmakefiles/opencv_python.dir.

Что попробовать:

  • Возможно, вам придется попытаться найти, как установить флаг @Cmakefiles/opencv_python.dir в интерфейсе Cmake или вручную в CMakeLists.txt, и установить его в правильное положение Python.h.

  • Также убедитесь, что флаг пути Cmakes Python включает правильный путь (PYTHON_INCLUDE=/path/to/python/include/).

  • Наконец, убедитесь, что ваш путь Python правильно указан, следуя этому сообщению здесь с указанием вашего местоположения Python.

Edit: Я смог следовать инструкциям и получить демонстрацию веб-камеры для сборки и запуска. Это было протестировано на Windows 10 с Python 3.7.1. Не уверен, что попробовать, кроме полной переустановки. Если у вас есть какие-либо вопросы или вы хотите узнать конкретную информацию, дайте мне знать, и если я что-нибудь придумаю, я отредактирую этот пост. Гудлак.

...