Qt5.11.0+OpenCV3.4.3構成チュートリアル



詳細な構成については、以下を参照してください.
OpenCVはCMakeとMinGWのコンパイルインストールとQt構成で実行する
https://blog.csdn.net/sinat_36264666/article/details/73200739
 
本文は主にコンパイル過程で出会った問題と解決方法を述べる.
1、
D:\opencv-3.4.3\modules\videoio\src\cap_msmf.cpp:143:28: error: using invalid fi
eld '{anonymous}::ComPtr::p'
         return p.operator&();
                            ^
D:\opencv-3.4.3\modules\videoio\src\cap_msmf.cpp: In instantiation of '{anonymou
s}::ComPtr::operator bool() [with T = IMFMediaSource]':
D:\opencv-3.4.3\modules\videoio\src\cap_msmf.cpp:969:115:   required from here
D:\opencv-3.4.3\modules\videoio\src\cap_msmf.cpp:152:33: error: using invalid fi
eld '{anonymous}::ComPtr::p'
         return p.operator!=(NULL);

答え:WITH_IPPとWITH_MSMF選択解除
 
2. sprintf_instead_use_StringCbPrintfA_or_StringCchPrintfAエラー表現...opencv/sources/modules/videoio/src/cap_dshow.cpp... ... 'sprintf_instead_use_StringCbPrintfA_or_StringCchPrintfA' was not declared in this scope ...
 
ソリューション:E:OpenCV_の変更3.3.1\opencv\sources\modules\videoio\src\cap_dshow.cppファイル、#include"DShow.h"の行に#define NO_を1行追加DSHOW_STRSAFE:
#define NO_DSHOW_STRSAFE#include"DShow.h"そして再びConfigure-Generate-mingw 32-make
3.identifier‘nullptr’is a keyword in C++11エラー
表現D:opencv-3.4.1\opencv-3.4.1\3rdparty\protobuf\src\google\protobuf\stubs\io_win32.cc:94:3: warning: identifier 'nullptr' is a keyword in C++11 [-Wc++0x-compat]    return s == nullptr || *s == 0;    ^ D:\opencv-3.4.1\opencv-3.4.1\3rdparty\protobuf\src\google\protobuf\stubs\io_win32.cc: In function 'bool google::protobuf::internal::win32::{anonymous}::null_or_empty(const char_type*)': D:\opencv-3.4.1\opencv-3.4.1\3rdparty\protobuf\src\google\protobuf\stubs\io_win32.cc:94:15: error: 'nullptr' was not declared in this scope    return s == nullptr || *s == 0;                ^ 3rdparty\protobuf\CMakeFiles\libprotobuf.dir\build.make:412: recipe for target '3rdparty/protobuf/CMakeFiles/libprotobuf.dir/src/google/protobuf/stubs/io_win32.cc.obj' failed mingw32-make[2]: *** [3rdparty/protobuf/CMakeFiles/libprotobuf.dir/src/google/protobuf/stubs/io_win32.cc.obj] Error 1 CMakeFiles\Makefile2:710: recipe for target '3rdparty/protobuf/CMakeFiles/libprotobuf.dir/all' failed mingw32-make[1]: *** [3rdparty/protobuf/CMakeFiles/libprotobuf.dir/all] Error 2  
ソリューション:
cmake-guiコンパイル構成では、次の手順に従います.
  • チェックENABLE_CXX11
  • そして改めてConfigureGeneratemingw32-make  https://blog.csdn.net/huihut/article/details/78701814