【发布时间】:2019-09-29 14:32:08
【问题描述】:
我想安装 Opencv 并按照本教程进行操作:https://medium.com/@sourabhjigjinni/install-opencv-4-0-0-for-c-windows-7-10-code-blocks-tdm-gcc-64-dff65addf162
我一步一步地跟着它,在代码块中构建它,但是在大约 99% 的构建时我得到了错误: 致命错误:Python.h:没有这样的文件或目录。
PC : Windows 10, 64 bit, python3 已安装。
我在编译器的“搜索目录”部分添加了 python 包含目录的完整路径。 在使用 Cmake 生成 Makefile 时,我检查了是否填充了 python.exe 和包含目录的路径。 我也查了很多论坛,但都没有找到满意的答案...
[ 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 在哪里,但它似乎不起作用。如果您需要更多数据,请告诉我。
【问题讨论】:
-
我在编译器的搜索目录中添加了python包含目录的完整路径。我的猜测是您没有正确完成此步骤,因为它应该在
cd /d C:\opencv\build\modules\python3 && C:\TDM-GCC-64\bin\g++.exe -DCVAPI_EXPORTS ...行中显示类似-I/full/path/to/python-include-directory/的内容 -
感谢您的回复!我在 Compiler - search directory 部分添加了 C:\Users\Me\AppData\Local\Programs\Python\Python37\include,难道还不够吗?
-
奇怪的是,如果使用 :include
构建一个测试项目,它工作得非常好......只有 OpenCV.cbp 不起作用...... -
为了确定,您是否将该路径添加到 code::blocks 或 Cmake?
标签: python c++ windows opencv codeblocks