Ask Your Question

Revision history [back]

click to hide/show revision 1
initial version

Compile error when compiling for windows (3.4.1-dev)

Hello I'm trying to compile opencv 3.4.1-dev for windows by using mingw32 but I get this error :

[ 64%] Building CXX object modules/dnn/CMakeFiles/opencv_dnn.dir/src/layers/padding_layer.cpp.obj [ 64%] Building CXX object modules/videoio/CMakeFiles/opencv_videoio.dir/src/cap_vfw.cpp.obj In file included from C:\opencv\opencv\modules\videoio\src\cap_msmf.cpp:59:0: C:/Qt/Qt5.9.1/Tools/mingw530_32/i686-w64-mingw32/include/mfplay.h:77:50: error: 'MFP_MEDIAITEM_CHARACTERISTICS' has not been declared STDMETHOD_(HRESULT,GetCharacteristics)(THIS_ MFP_MEDIAITEM_CHARACTERISTICS pCharacteristics) PURE; ^ C:/Qt/Qt5.9.1/Tools/mingw530_32/i686-w64-mingw32/include/mfplay.h:79:46: error: 'IMFPMediaPlayer' has not been declared STDMETHOD_(HRESULT,GetMediaPlayer)(THIS_ IMFPMediaPlayer ppMediaPlayer) PURE; ^ In file included from C:\opencv\opencv\modules\videoio\src\cap_msmf.cpp:59:0: C:/Qt/Qt5.9.1/Tools/mingw530_32/i686-w64-mingw32/include/mfplay.h:158:50: error: 'MFVideoNormalizedRect' has not been declared STDMETHOD_(HRESULT,GetVideoSourceRect)(THIS_ MFVideoNormalizedRect *pnrcSource) PURE; ^ C:/Qt/Qt5.9.1/Tools/mingw530_32/i686-w64-mingw32/include/mfplay.h:173:56: error: 'MFVideoNormalizedRect' does not name a type STDMETHOD_(HRESULT,SetVideoSourceRect)(THIS_ const MFVideoNormalizedRect *pnrcSource) PURE; ^ C:/Qt/Qt5.9.1/Tools/mingw530_32/i686-w64-mingw32/include/mfplay.h:241:41: error: 'MFP_EVENT_HEADER' has not been declared STDMETHOD(OnMediaPlayerEvent)(THIS_ MFP_EVENT_HEADER *pEventHeader) PURE; ^ C:/Qt/Qt5.9.1/Tools/mingw530_32/i686-w64-mingw32/include/mfplay.h:333:3: error: 'MFP_CREDENTIAL_FLAGS' does not name a type MFP_CREDENTIAL_FLAGS flags; ^ C:/Qt/Qt5.9.1/Tools/mingw530_32/i686-w64-mingw32/include/mfplay.h:334:3: error: 'IMFNetCredential' does not name a type IMFNetCredential *pCredential; ^ C:\opencv\opencv\modules\videoio\src\cap_msmf.cpp:213:35: error: '_Deref_out_opt_' has not been declared _Check_return_ HRESULT CopyTo(_Deref_out_opt_ T ppT) ^ C:\opencv\opencv\modules\videoio\src\cap_msmf.cpp:213:51: error: declaration of 'int T' _Check_return_ HRESULT CopyTo(_Deref_out_opt_ T* ppT) ^ C:\opencv\opencv\modules\videoio\src\cap_msmf.cpp:136:11: error: shadows template parm 'class T' template <class t=""> ^ C:\opencv\opencv\modules\videoio\src\cap_msmf.cpp:213:52: error: expected ',' or '...' before '' token _Check_return_ HRESULT CopyTo(_Deref_out_opt_ T* ppT) ^ C:\opencv\opencv\modules\videoio\src\cap_msmf.cpp: In member function 'HRESULT {anonymous}::ComPtr<t>::CopyTo(int)': C:\opencv\opencv\modules\videoio\src\cap_msmf.cpp:213:51: error: declaration of 'int T' _Check_return_ HRESULT CopyTo(_Deref_out_opt_ T** ppT) ^ C:\opencv\opencv\modules\videoio\src\cap_msmf.cpp:136:11: error: shadows template parm 'class T' template <class t="">

click to hide/show revision 2
None

updated 2018-06-01 04:16:19 -0600

berak gravatar image

Compile error when compiling for windows (3.4.1-dev)

Hello I'm trying to compile opencv 3.4.1-dev for windows by using mingw32 but I get this error :

[ 64%] Building CXX object modules/dnn/CMakeFiles/opencv_dnn.dir/src/layers/padding_layer.cpp.obj
 [ 64%] Building CXX object modules/videoio/CMakeFiles/opencv_videoio.dir/src/cap_vfw.cpp.obj
 In file included from C:\opencv\opencv\modules\videoio\src\cap_msmf.cpp:59:0:
 C:/Qt/Qt5.9.1/Tools/mingw530_32/i686-w64-mingw32/include/mfplay.h:77:50: error: 'MFP_MEDIAITEM_CHARACTERISTICS' has not been declared
 STDMETHOD_(HRESULT,GetCharacteristics)(THIS_ MFP_MEDIAITEM_CHARACTERISTICS pCharacteristics) *pCharacteristics) PURE;
 ^
^
C:/Qt/Qt5.9.1/Tools/mingw530_32/i686-w64-mingw32/include/mfplay.h:79:46: error: 'IMFPMediaPlayer' has not been declared
 STDMETHOD_(HRESULT,GetMediaPlayer)(THIS_ IMFPMediaPlayer ppMediaPlayer) **ppMediaPlayer) PURE;
 ^
^
In file included from C:\opencv\opencv\modules\videoio\src\cap_msmf.cpp:59:0:
 C:/Qt/Qt5.9.1/Tools/mingw530_32/i686-w64-mingw32/include/mfplay.h:158:50: error: 'MFVideoNormalizedRect' has not been declared
 STDMETHOD_(HRESULT,GetVideoSourceRect)(THIS_ MFVideoNormalizedRect *pnrcSource) PURE;
 ^
^
C:/Qt/Qt5.9.1/Tools/mingw530_32/i686-w64-mingw32/include/mfplay.h:173:56: error: 'MFVideoNormalizedRect' does not name a type
 STDMETHOD_(HRESULT,SetVideoSourceRect)(THIS_ const MFVideoNormalizedRect *pnrcSource) PURE;
 ^
^
C:/Qt/Qt5.9.1/Tools/mingw530_32/i686-w64-mingw32/include/mfplay.h:241:41: error: 'MFP_EVENT_HEADER' has not been declared
 STDMETHOD(OnMediaPlayerEvent)(THIS_ MFP_EVENT_HEADER *pEventHeader) PURE;
 ^
^
C:/Qt/Qt5.9.1/Tools/mingw530_32/i686-w64-mingw32/include/mfplay.h:333:3: error: 'MFP_CREDENTIAL_FLAGS' does not name a type
 MFP_CREDENTIAL_FLAGS flags;
 ^
^
C:/Qt/Qt5.9.1/Tools/mingw530_32/i686-w64-mingw32/include/mfplay.h:334:3: error: 'IMFNetCredential' does not name a type
 IMFNetCredential *pCredential;
 ^
^
C:\opencv\opencv\modules\videoio\src\cap_msmf.cpp:213:35: error: '_Deref_out_opt_' has not been declared
 _Check_return_ HRESULT CopyTo(_Deref_out_opt_ T T** ppT)
 ^
^
C:\opencv\opencv\modules\videoio\src\cap_msmf.cpp:213:51: error: declaration of 'int T'
 _Check_return_ HRESULT CopyTo(_Deref_out_opt_ T* T** ppT)
 ^
^
C:\opencv\opencv\modules\videoio\src\cap_msmf.cpp:136:11: error: shadows template parm 'class T'
 template <class t="">
^
T>
^
C:\opencv\opencv\modules\videoio\src\cap_msmf.cpp:213:52: error: expected ',' or '...' before '' '*' token
  _Check_return_ HRESULT CopyTo(_Deref_out_opt_ T* T** ppT)
 ^
^
C:\opencv\opencv\modules\videoio\src\cap_msmf.cpp: In member function 'HRESULT {anonymous}::ComPtr<t>::CopyTo(int)':
{anonymous}::ComPtr<T>::CopyTo(int)':
C:\opencv\opencv\modules\videoio\src\cap_msmf.cpp:213:51: error: declaration of 'int T'
  _Check_return_ HRESULT CopyTo(_Deref_out_opt_ T** ppT)
 ^
^
C:\opencv\opencv\modules\videoio\src\cap_msmf.cpp:136:11: error: shadows template parm 'class T'
 template <class t="">

T>