我正在阅读一些初学的计算机视觉课程,我想使用Python 3.4代替2.7课程,我分别在C:/Python34
和C:/Python27
的计算机上安装了这两个版本。我能够import cv2
进入最新版本的OpenCV,这些课程需要它,支持在Python 3中使用cv2模块,但它必须从源代码构建。
为此,我使用cmake-gui在c:/opencv
中创建必要的make文件,并通过在make -j4
目录中执行c:/opencv/build
来启动构建cmake创建了。请注意,我使用的是mingw32-make命令,而不是视觉工作室。我的gcc
和g++
编译器都运行良好;我使用的是两者的5.1.0版本。我生成的makefile的完整配置粘贴在下面。我做了一些编辑来克服经常遇到的其他编译器错误。
目前,构建几乎成功(进入" 100%"失败前)。错误发生在步骤链接CXX共享库.... \ lib \ cv2.pyd ,cv2.pyd
是我需要编译以便导入opencv的python库。停止编译的完整错误是:
Linking CXX shared library ..\..\lib\cv2.pyd
modules\python3\CMakeFiles\opencv_python3.dir\build.make:215: recipe for target 'lib/cv2.pyd' failed
CMakeFiles\Makefile2:7114: recipe for target 'modules/python3/CMakeFiles/opencv_python3.dir/all' failed
makefile:135: recipe for target 'all' failed
我已经看过makefile中指定的行,但是看不到任何可以让我知道链接出错的线索。我还注意到,在下面的cmake配置中,Python(for build)参数设置为pyhon27可执行文件而不是python34,但是我们还没有找到正确的参数来改变这一点,而且我'我不确定这甚至与这个问题有关。如果有人有关于如何解决这个问题的建议并让opencv为Python 3.4构建pyd,那么请加入。
检测到的GNU GCC版本:51(501) 禁用CUDA编译(由于您的平台仅支持Visual Studio编译器)。 找不到Doxygen(缺少:DOXYGEN_EXECUTABLE) 要启用PlantUML支持,请设置PLANTUML_JAR环境变量或将-DPLANTUML_JAR =选项传递给cmake 找到PythonInterp:C:/Python27/python.exe(找到合适的版本" 2.7.6",最低要求是" 2.7") 找到PythonLibs:C:/Python27/libs/libpython27.a(找到合适的确切版本" 2.7.6") 找到PythonInterp:C:/Python34/python.exe(找到合适的版本" 3.4.2",最低要求是" 3.4") 找到PythonLibs:C:/Python34/libs/python34.lib(找到合适的确切版本" 3.4.2") 找不到VTK。请在CMake中将-DVTK_DIR设置为VTK构建目录,或者将VTKConfig.cmake文件设置为VTK install子目录 videoio:默认情况下删除WinRT API标头
OpenCV 3.0.0-dev的常规配置===================================== 版本控制:3.0.0-rc1-240-g1df244b-dirty
平台: 主持人:Windows 6.1 AMD64 CMake:3.2.2 CMake发生器:MinGW Makefiles CMake构建工具:C:/MinGW/bin/make.exe 配置:发布>
C / C ++: 建立为动态库?:是的 C ++编译器:c:/ MinGW / bin / g ++。exe(ver 5.1.0) C ++标志(发布): - fsigned-char -mstackrealign -W -Wall -Werror = return-type -Werror = address -Werror = sequence-point -Wformat -Werror = format-security -Wmissing-declarations -Wundef -Winit-self -Wpointer-arith -Wshadow -Wsign-promo -Wno-narrowing -Wno-delete-non-virtual-dtor -fdiagnostics-show-option -Wno-long-long -fomit-frame-pointer -msse -msse2 -ffunction-sections -fvisibility = hidden -fvisibility-inlines-hidden -O2 -DNDEBUG -DNDEBUG C ++标志(Debug): - fsigned-char -mstackrealign -W -Wall -Werror = return-type -Werror = address -Werror = sequence-point -Wformat -Werror = format-security -Wmissing-declarations -Wundef -Winit-self -Wpointer-arith -Wshadow -Wsign-promo -Wno-narrowing -Wno-delete-non-virtual-dtor -fdiagnostics-show-option -Wno-long-long -fomit-frame-pointer -msse -msse2 -ffunction-sections -fvisibility = hidden -fvisibility-inlines-hidden -g -O0 -DDEBUG -D_DEBUG C编译器:c:/MinGW/bin/gcc.exe C标志(发布): - fsigned-char -mstackrealign -W -Wall -Werror = return-type -Werror = address -Werror = sequence-point -Wformat -Werror = format-security -Wmissing-declarations -Wmissing-prototypes -Wstrict -prototypes -Wundef -Winit-self -Wpointer-arith -Wshadow -Wno-narrowing -fdiagnostics-show-option -Wno-long-long -fomit-frame-pointer -msse -msse2 -ffunction-sections -fvisibility = hidden -O2 -DNDEBUG -DNDEBUG C标志(调试): - fsigned-char -mstackrealign -W -Wall -Werror = return-type -Werror = address -Werror = sequence-point -Wformat -Werror = format-security -Wmissing-declarations -Wmissing-prototypes -Wstrict -prototypes -Wundef -Winit-self -Wpointer-arith -Wshadow -Wno-narrowing -fdiagnostics-show-option -Wno-long-long -fomit-frame-pointer -msse -msse2 -ffunction-sections -fvisibility = hidden -g -O0 -DDEBUG -D_DEBUG 链接器标志(Release):
链接器标志(Debug):
预编译的头文件:是的 额外依赖:comctl32 gdi32 ole32 setupapi ws2_32 avifil32 avicap32 winmm msvfw32 第三方依赖:zlib libjpeg libwebp libpng libtiff libjasper IlmImf>OpenCV模块: 待建:hal core flann imgproc ml photo video imgcodecs shape videoio highgui objdetect superres ts features2d calib3d stitching videostab python3 禁用:python2世界 依赖性禁用: - 不可用:androidcamera cudaarithm cudabgsegm cudacodec cudafeatures2d cudafilters cudaimgproc cudalegacy cudaobjdetect cudaoptflow cudastereo cudawarping cudev java viz
Windows RT支持:否
GUI: QT:没有 Win32 UI:是的 OpenGL支持:没有 VTK支持:否
媒体I / O: ZLib:build(版本1.2.8) JPEG:build(版本90) WEBP:build(ver 0.3.1) PNG:build(ver 1.5.12) TIFF:build(版本42 - 4.0.2) JPEG 2000:build(ver 1.900.1) OpenEXR:build(ver 1.7.1) GDAL:没有
视频I / O: 适用于Windows的视频:是的 DC1394 1.x:NO DC1394 2.x:没有 FFMPEG:是(预建二进制文件) 编解码器:是(版本55.18.102) 格式:是(版本55.12.100) util:YES(ver 52.38.100) swscale:YES(ver 2.3.100) 重新取样:没有 gentoo-style:是的 OpenNI:没有 OpenNI PrimeSensor模块:没有 OpenNI2:没有 PvAPI:没有 GigEVisionSDK:没有 DirectShow:是的 媒体基金会:没有 XIMEA:没有 英特尔PerC:否
其他第三方图书馆: 使用IPP:NO 使用IPP异步:否 使用特征:否 使用TBB:NO 使用OpenMP:NO 使用GCD NO 使用并发号 使用C =:NO 使用Cuda:没有 使用OpenCL:是
的OpenCL: 版本:动态 包含路径:C:/opencv/3rdparty/include/opencl/1.2 使用AMDFFT:没有 使用AMDBLAS:否
Python 2: 译员:C:/Python27/python.exe(版本2.7.6)
Python 3: 译员:C:/Python34/python.exe(版本3.4.2) 库:C:/Python34/libs/python34.lib(版本3.4.2) numpy:C:/ Python34 / lib / site-packages / numpy / core / include(ver 1.9.2) 包路径:C:/ Python34 / Lib / site-packages
Python(用于构建):C:/Python27/python.exe
爪哇: 蚂蚁:没有 JNI:C:/ Program Files / Java / jdk1.7.0_03 / include C:/ Program Files / Java / jdk1.7.0_03 / include / win32 C:/ Program Files / Java / jdk1.7.0_03 / include Java包装器:没有 Java测试:否
Matlab的: mex:C:/ Program Files(x86)/ MATLAB / R2009a Student / bin / mex.bat 编译器/生成器:不工作(不会生成绑定)
文档: Doxygen:NO PlantUML:NO
测试和样品: 测试:是的 性能测试:是的 C / C ++示例:否
安装路径:C:/ opencv / build / install
cvconfig.h位于:C:/ opencv / build
配置完成 生成完成