2017-01-12 33 views
0

私のWindows 10 PCにopencvライブラリを構築しようとしました。 私はソースからcmakeですべてを生成することができました。 (何も赤い、エラーなし)。 mingwですべてをビルドしようとすると(mingw32-make install) ビルドが開始され、しばらくしてから次のエラーが表示されます。Windows 10でmingwでOpenCVをビルドする際のエラー

[ 76%] Building CXX object modules/python3/CMakeFiles/opencv_python3.dir/__/src2/cv2.cpp.obj 
In file included from C:/Python34/include/Python.h:8:0, 
      from C:\OpenCV\opencv-master\modules\python\src2\cv2.cpp:6: 
C:/Python34/include/pyconfig.h:440:5: warning: "_MSC_VER" is not defined [-Wundef] 
#if _MSC_VER >= 1800 
^~~~~~~~ 
In file included from C:/PROGRA~1/MINGW-~1/X86_64~1.0-P/mingw64/lib/gcc/x86_64-w64-mingw32/6.2.0/include/c++/math.h:36:0, 
      from C:/Python34/include/pyport.h:328, 
      from C:/Python34/include/Python.h:50, 
      from C:\OpenCV\opencv-master\modules\python\src2\cv2.cpp:6: 
C:/PROGRA~1/MINGW-~1/X86_64~1.0-P/mingw64/lib/gcc/x86_64-w64-mingw32/6.2.0/include/c++/cmath:1133:11: error: '::hypot' has not been declared 
using ::hypot; 
     ^~~~~ 
modules\python3\CMakeFiles\opencv_python3.dir\build.make:179: recipe for target 'modules/python3/CMakeFiles/opencv_python3.dir/__/src2/cv2.cpp.obj' failed 
mingw32-make[2]: *** [modules/python3/CMakeFiles/opencv_python3.dir/__/src2/cv2.cpp.obj] Error 1 
CMakeFiles\Makefile2:7051: recipe for target 'modules/python3/CMakeFiles/opencv_python3.dir/all' failed 
mingw32-make[1]: *** [modules/python3/CMakeFiles/opencv_python3.dir/all] Error 2 
Makefile:159: recipe for target 'all' failed 
mingw32-make: *** [all] Error 2 

私は、次の"Error: '::hypot' has not been declared" in cmath while trying to embed Python

が見つかりましたが、それを考え出したことができませんでした。 誰でも私の方向を示唆することができます。 OpenCVを構築する場合はどこに含まれていますか?

バージョン:GNUは4.1

任意の助けを作る CMakeの3.4.1、 OpenCVの3.2.0は、理解されるqould!

答えて

0

ゴー次のファイル

C:\OpenCV\opencv-master\modules\python\src2\cv2.cpp 

へと #include "Python.h"
#include <cmath>の前に来るかどうかを確認します。その場合
は順序を交換し、cmathPython.h前に来るように、即ち

#include <cmath> 
#include "Python.h" 

を書き込みます。
報告したエラーを解決するかどうかを確認してください。

+0

私の場合、あなたが言及したファイルにはcmathは全く含まれていませんでした。私はPythonのインクルードの前にそれを追加し、もう一度やり直しました。しかし何も変わっていない。私のcv2.cppファイルであるhttp://pastebin.com/uhMJJx8g。私はそれが宣言されていない_MSC_VERについて不平を言っていることに気づいた。これがエラーの原因になりますか? – samoncode

関連する問題