在Windows 7(64位)上构建OpenCV 3.0.0 rc1时出错:无法编译/链接cv2.pyd for Python 3.4

时间:2015-05-27 21:37:02

标签: python c++ opencv python-3.x makefile

我正在阅读一些初学的计算机视觉课程,我想使用Python 3.4代替2.7课程,我分别在C:/Python34C:/Python27的计算机上安装了这两个版本。我能够import cv2进入最新版本的OpenCV,这些课程需要它,支持在Python 3中使用cv2模块,但它必须从源代码构建。

为此,我使用cmake-gui在c:/opencv中创建必要的make文件,并通过在make -j4目录中执行c:/opencv/build来启动构建cmake创建了。请注意,我使用的是mingw32-make命令,而不是视觉工作室。我的gccg++编译器都运行良好;我使用的是两者的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,那么请加入。

CMake配置

  

检测到的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

     

配置完成   生成完成

0 个答案:

没有答案