前言
我在我的项目中使用到了OpenCV,但我的项目的编译器是MinGW,而官方在Windows环境下仅提供MSVC编译的版本,于是我只能去社区中找找有没有预编译版本。可惜的是,OpenCV_MingW仓库中只有OpenCV4.11.0的MinGW预编译版本,但它使用MinGW版本是8.10和13.1.0,比我的(15.2.0)旧,并且即使我降低自己的MinGW版本到13.1.0,我的代码仍然无法使用这个仓库中的预编译好的dll文件,提示无法找到OpenCV的dll的程序入口点。OpenCV-MinGW-Build和其他仓库则只有更旧版本的OpenCV。没办法,我只好选择自己编译。
OpenCV预编译文件下载
我使用Github Actions创建了一个每天凌晨4点(北京时间)自动检测新版本并编译OpenCV的仓库,我已经验证它能满足我的要求:Github Releases
具体的编译配置与下面的手动编译方法中的配置是一样的。
手动编译方法
[1]下面我编译出来的文件也上传到了Github了。
前置准备
操作流程
拉取OpenCV源码
-
创建一个空文件夹作为OpenCV源码的存放目录,比如我使用
D:\temp\opencv\sources
。 -
打开命令行终端,将工作目录切换到上一步的文件夹。
我这里使用:C:\Users\Administrator>D:
D:\>cd temp\opencv\sources
D:\temp\opencv\sources> -
使用
git clone https://github.com/opencv/opencv.git
命令拉取OpenCV的源代码。如果因网络问题拉取不成功的,可选择使用代理。要使Git使用代理,请在命令行中输入如下两条命令(我的代理运行在7897端口)。
git config --global http.proxy "http://127.0.0.1:7897"
git config --global https.proxy "https://127.0.0.1:7897"如果不再需要让Git使用代理,则在命令行输入如下两条命令。
git config --global --unset http.proxy
git config --global --unset https.proxy
我的操作步骤如下:
D:\temp\opencv\sources>git config --global http.proxy "http://127.0.0.1:7897"
D:\temp\opencv\sources>git config --global https.proxy "https://127.0.0.1:7897"
D:\temp\opencv\sources>git clone https://github.com/opencv/opencv.git
Cloning into 'opencv'...
remote: Enumerating objects: 348939, done.
remote: Counting objects: 100% (27/27), done.
remote: Compressing objects: 100% (15/15), done.
remote: Total 348939 (delta 12), reused 12 (delta 12), pack-reused 348912 (from 2)
Receiving objects: 100% (348939/348939), 537.20 MiB | 12.55 MiB/s, done.
Resolving deltas: 100% (243645/243645), done.
Updating files: 100% (7661/7661), done.
D:\temp\opencv\sources>git config --global --unset http.proxy
D:\temp\opencv\sources>git config --global --unset https.proxy
D:\temp\opencv\sources>
创建CMake编译配置
-
安装了CMake之后,你应该会有一个叫
cmake-gui.exe
的程序(位于CMake安装位置下的bin
文件夹)。启动这个程序。程序界面如下: -
创建一个文件夹作为OpenCV的编译输出目录。比如我选择
D:\temp\opencv\build
。 -
在
CMake
程序中,在Where is the source code
处填入源码路径。我的是D:\temp\opencv\sources\opencv
。然后在Where to build the binaries
处填入刚才创建的编译输出目录文件夹。我的是D:\temp\opencv\build
。填写完毕后点击窗口左下角的Configure
按钮。
界面如下: -
当上一步完成之后,会弹出如下窗口。请在
Specify the generator for this project
处选择MinGW Makefiles
,并在下方选择Specify native compilers
,然后点击Next
按钮。 -
选择编译器。直接在对应语言的框中填入你的编译器路径即可。一般编译器在MinGW的安装目录内的
bin
文件夹内。填入之后,点击Finish
按钮。 -
刚才的弹出式窗口会关闭,此时会开始加载一段时间,需要耐心等待一下(因为需要下载文件)。
-
加载结束后请检查窗口底部的输出部分,寻找到对应的红字部分,如果有
Download failed
的字样,就看它的上几行,找到下载失败的内容(我这里是opencv_videoio_ffmpeg.dll
)。
去编译输出目录文件夹中找到CMakeDownloadLog.txt
(我这里的完整路径是D:\temp\opencv\build\CMakeDownloadLog.txt
),根据下载失败的内容,在CMakeDownloadLog.txt
中查找到类似的行,比如这样:#do_copy "opencv_videoio_ffmpeg.dll" "2821ea672a11147a70974d760a54e9bc" "https://raw.githubusercontent.com/opencv/opencv_3rdparty/ea9240e39bc0d6a69d2b1f0ba4513bdc7612a41e/ffmpeg/opencv_videoio_ffmpeg.dll" "D:/temp/opencv/build/3rdparty/ffmpeg"
#missing "D:/temp/opencv/build/3rdparty/ffmpeg/opencv_videoio_ffmpeg.dll"
手动下载这些下载失败的文件,并根据如上两行的内容指引放在相应的位置。比如我在这里需要手动访问
https://raw.githubusercontent.com/opencv/opencv_3rdparty/ea9240e39bc0d6a69d2b1f0ba4513bdc7612a41e/ffmpeg/opencv_videoio_ffmpeg.dll
下载文件,然后把下载的文件名改成opencv_videoio_ffmpeg.dll
,然后复制到D:/temp/opencv/build/3rdparty/ffmpeg
文件夹中。注意,下载失败的文件可能不止一个!请找到每个下载失败的文件并手动下载!
-
在如图所示的位置找到以下列出的条目并做相应的修改,完成后点击左下角的
Configure
,等待一段时间,如果加载完成后没有再出现下载失败的提示(如果上一步把所有下载失败的文件都手动下载好并放到对应目录下的话,这次应该不会再出现下载失败的提示了。如果仍然存在下载失败的文件,请重新做一遍第7步),则点击Generate
按钮。
条目 修改 解释 BUILD_EXAMPLES
勾选上 Build all examples BUILD_opencv_world
勾选上 Include opencv_world module into the OpenCV build CPU_DISPATCH
清空里面的值 Specify list of dispatched CPU optimizations WITH_OPENGL
勾选上 Include OpenGL support 我个人还做了这些操作条目 操作 解释 BUILD_CUDA_STUBS
勾选上 Build CUDA modules stubs when no CUDA SDK OPENCV_DNN_OPENVINO
勾选上 Build with OpenVINO support(2021.4+) OPENCV_ENABLE_NONFREE
勾选上 Enable non-free algorithms OPENCV_TEST_DNN_OPENVINO
勾选上 Build test with OpenVINO code WITH_OPENVINO
勾选上 Include Intel OpenVINO toolkit support WITH_VULKAN
勾选上 Include Vulkan support -
当窗口底部出现
Generating done
的字样时,说明CMake编译配置已经生成完毕。此时就可以关闭CMake
的窗口了。
编译OpenCV
-
在编译输出目录处打开终端,输入
mingw32-make -j 20
即可开始编译。其中-j
选项指定编译的线程数量,后面的20
则是具体分配的线程数量。控制台输出结果D:\temp\opencv\build>mingw32-make -j 20
[ 0%] Built target opencv_dnn_plugins
[ 0%] Built target opencv_highgui_plugins
[ 0%] Built target opencv_videoio_plugins
.......
[ 7%] Building CXX object 3rdparty/protobuf/CMakeFiles/libprotobuf.dir/src/google/protobuf/stubs/structurally_valid.cc.obj
[ 7%] Linking CXX static library 3rdparty\lib\libade.a
[ 7%] Building C object 3rdparty/libwebp/CMakeFiles/libwebp.dir/src/dsp/cost_mips_dsp_r2.c.obj
D:\temp\opencv\sources\opencv\3rdparty\openexr\Iex\IexBaseExc.cpp:198: warning: ignoring '#pragma optimize ' [-Wunknown-pragmas]
198 | #pragma optimize("", off)
[ 7%] Building C object 3rdparty/libpng/CMakeFiles/libpng.dir/pngpread.c.obj
[ 7%] Building CXX object 3rdparty/openexr/CMakeFiles/IlmImf.dir/IlmImf/ImfAttribute.cpp.obj
[ 7%] Built target ade
......
[ 24%] Building CXX object modules/world/CMakeFiles/opencv_world.dir/__/core/src/matmul.dispatch.cpp.obj
[ 24%] Building CXX object modules/world/CMakeFiles/opencv_world.dir/__/core/src/matrix.cpp.obj
[ 24%] Building CXX object modules/world/CMakeFiles/opencv_world.dir/__/core/src/matrix_c.cpp.obj
D:\temp\opencv\sources\opencv\modules\core\src\directx.cpp: In function 'cv::ocl::Context& cv::directx::ocl::initializeContextFromD3D11Device(ID3D11Device*)':
D:\temp\opencv\sources\opencv\modules\core\src\directx.cpp:492:21: warning: converting to non-pointer type 'cl_context_properties' {aka 'long long int'} from NULL [-Wconversion-null]
492 | };
| ^
D:\temp\opencv\sources\opencv\modules\core\src\directx.cpp:492:21: warning: converting to non-pointer type 'cl_context_properties' {aka 'long long int'} from NULL [-Wconversion-null]
D:\temp\opencv\sources\opencv\modules\core\src\directx.cpp:519:21: warning: converting to non-pointer type 'cl_context_properties' {aka 'long long int'} from NULL [-Wconversion-null]
519 | };
| ^
D:\temp\opencv\sources\opencv\modules\core\src\directx.cpp:519:21: warning: converting to non-pointer type 'cl_context_properties' {aka 'long long int'} from NULL [-Wconversion-null]
D:\temp\opencv\sources\opencv\modules\core\src\directx.cpp: In function 'cv::ocl::Context& cv::directx::ocl::initializeContextFromD3D10Device(ID3D10Device*)':
D:\temp\opencv\sources\opencv\modules\core\src\directx.cpp:605:17: warning: converting to non-pointer type 'cl_context_properties' {aka 'long long int'} from NULL [-Wconversion-null]
605 | };
| ^
D:\temp\opencv\sources\opencv\modules\core\src\directx.cpp:605:17: warning: converting to non-pointer type 'cl_context_properties' {aka 'long long int'} from NULL [-Wconversion-null]
D:\temp\opencv\sources\opencv\modules\core\src\directx.cpp:633:17: warning: converting to non-pointer type 'cl_context_properties' {aka 'long long int'} from NULL [-Wconversion-null]
633 | };
| ^
D:\temp\opencv\sources\opencv\modules\core\src\directx.cpp:633:17: warning: converting to non-pointer type 'cl_context_properties' {aka 'long long int'} from NULL [-Wconversion-null]
D:\temp\opencv\sources\opencv\modules\core\src\directx.cpp: In function 'cv::ocl::Context& cv::directx::ocl::initializeContextFromDirect3DDevice9Ex(IDirect3DDevice9Ex*)':
D:\temp\opencv\sources\opencv\modules\core\src\directx.cpp:718:17: warning: converting to non-pointer type 'cl_context_properties' {aka 'long long int'} from NULL [-Wconversion-null]
718 | };
| ^
D:\temp\opencv\sources\opencv\modules\core\src\directx.cpp:718:17: warning: converting to non-pointer type 'cl_context_properties' {aka 'long long int'} from NULL [-Wconversion-null]
D:\temp\opencv\sources\opencv\modules\core\src\directx.cpp:747:17: warning: converting to non-pointer type 'cl_context_properties' {aka 'long long int'} from NULL [-Wconversion-null]
747 | };
| ^
D:\temp\opencv\sources\opencv\modules\core\src\directx.cpp:747:17: warning: converting to non-pointer type 'cl_context_properties' {aka 'long long int'} from NULL [-Wconversion-null]
D:\temp\opencv\sources\opencv\modules\core\src\directx.cpp: In function 'cv::ocl::Context& cv::directx::ocl::initializeContextFromDirect3DDevice9(IDirect3DDevice9*)':
D:\temp\opencv\sources\opencv\modules\core\src\directx.cpp:832:17: warning: converting to non-pointer type 'cl_context_properties' {aka 'long long int'} from NULL [-Wconversion-null]
832 | };
| ^
D:\temp\opencv\sources\opencv\modules\core\src\directx.cpp:832:17: warning: converting to non-pointer type 'cl_context_properties' {aka 'long long int'} from NULL [-Wconversion-null]
[ 24%] Building CXX object modules/world/CMakeFiles/opencv_world.dir/__/core/src/matrix_decomp.cpp.obj
D:\temp\opencv\sources\opencv\modules\core\src\directx.cpp:862:17: warning: converting to non-pointer type 'cl_context_properties' {aka 'long long int'} from NULL [-Wconversion-null]
862 | };
| ^
D:\temp\opencv\sources\opencv\modules\core\src\directx.cpp:862:17: warning: converting to non-pointer type 'cl_context_properties' {aka 'long long int'} from NULL [-Wconversion-null]
D:\temp\opencv\sources\opencv\modules\core\src\directx.cpp: In function 'void cv::directx::__convertToD3D11Texture2DKHR(cv::InputArray, ID3D11Texture2D*)':
D:\temp\opencv\sources\opencv\modules\core\src\directx.cpp:959:37: warning: missing initializer for member 'D3D11_TEXTURE2D_DESC::Height' [-Wmissing-field-initializers]
959 | D3D11_TEXTURE2D_DESC desc = { 0 };
| ^
D:\temp\opencv\sources\opencv\modules\core\src\directx.cpp:959:37: warning: missing initializer for member 'D3D11_TEXTURE2D_DESC::MipLevels' [-Wmissing-field-initializers]
D:\temp\opencv\sources\opencv\modules\core\src\directx.cpp:959:37: warning: missing initializer for member 'D3D11_TEXTURE2D_DESC::ArraySize' [-Wmissing-field-initializers]
D:\temp\opencv\sources\opencv\modules\core\src\directx.cpp:959:37: warning: missing initializer for member 'D3D11_TEXTURE2D_DESC::Format' [-Wmissing-field-initializers]
D:\temp\opencv\sources\opencv\modules\core\src\directx.cpp:959:37: warning: missing initializer for member 'D3D11_TEXTURE2D_DESC::SampleDesc' [-Wmissing-field-initializers]
D:\temp\opencv\sources\opencv\modules\core\src\directx.cpp:959:37: warning: missing initializer for member 'D3D11_TEXTURE2D_DESC::Usage' [-Wmissing-field-initializers]
D:\temp\opencv\sources\opencv\modules\core\src\directx.cpp:959:37: warning: missing initializer for member 'D3D11_TEXTURE2D_DESC::BindFlags' [-Wmissing-field-initializers]
D:\temp\opencv\sources\opencv\modules\core\src\directx.cpp:959:37: warning: missing initializer for member 'D3D11_TEXTURE2D_DESC::CPUAccessFlags' [-Wmissing-field-initializers]
D:\temp\opencv\sources\opencv\modules\core\src\directx.cpp:959:37: warning: missing initializer for member 'D3D11_TEXTURE2D_DESC::MiscFlags' [-Wmissing-field-initializers]
D:\temp\opencv\sources\opencv\modules\core\src\directx.cpp: In function 'void cv::directx::__convertToD3D11Texture2DNV(cv::InputArray, ID3D11Texture2D*)':
D:\temp\opencv\sources\opencv\modules\core\src\directx.cpp:1059:37: warning: missing initializer for member 'D3D11_TEXTURE2D_DESC::Height' [-Wmissing-field-initializers]
1059 | D3D11_TEXTURE2D_DESC desc = { 0 };
| ^
D:\temp\opencv\sources\opencv\modules\core\src\directx.cpp:1059:37: warning: missing initializer for member 'D3D11_TEXTURE2D_DESC::MipLevels' [-Wmissing-field-initializers]
D:\temp\opencv\sources\opencv\modules\core\src\directx.cpp:1059:37: warning: missing initializer for member 'D3D11_TEXTURE2D_DESC::ArraySize' [-Wmissing-field-initializers]
D:\temp\opencv\sources\opencv\modules\core\src\directx.cpp:1059:37: warning: missing initializer for member 'D3D11_TEXTURE2D_DESC::Format' [-Wmissing-field-initializers]
D:\temp\opencv\sources\opencv\modules\core\src\directx.cpp:1059:37: warning: missing initializer for member 'D3D11_TEXTURE2D_DESC::SampleDesc' [-Wmissing-field-initializers]
D:\temp\opencv\sources\opencv\modules\core\src\directx.cpp:1059:37: warning: missing initializer for member 'D3D11_TEXTURE2D_DESC::Usage' [-Wmissing-field-initializers]
D:\temp\opencv\sources\opencv\modules\core\src\directx.cpp:1059:37: warning: missing initializer for member 'D3D11_TEXTURE2D_DESC::BindFlags' [-Wmissing-field-initializers]
D:\temp\opencv\sources\opencv\modules\core\src\directx.cpp:1059:37: warning: missing initializer for member 'D3D11_TEXTURE2D_DESC::CPUAccessFlags' [-Wmissing-field-initializers]
D:\temp\opencv\sources\opencv\modules\core\src\directx.cpp:1059:37: warning: missing initializer for member 'D3D11_TEXTURE2D_DESC::MiscFlags' [-Wmissing-field-initializers]
D:\temp\opencv\sources\opencv\modules\core\src\directx.cpp: In function 'void cv::directx::__convertFromD3D11Texture2DKHR(ID3D11Texture2D*, cv::OutputArray)':
D:\temp\opencv\sources\opencv\modules\core\src\directx.cpp:1157:37: warning: missing initializer for member 'D3D11_TEXTURE2D_DESC::Height' [-Wmissing-field-initializers]
1157 | D3D11_TEXTURE2D_DESC desc = { 0 };
| ^
D:\temp\opencv\sources\opencv\modules\core\src\directx.cpp:1157:37: warning: missing initializer for member 'D3D11_TEXTURE2D_DESC::MipLevels' [-Wmissing-field-initializers]
D:\temp\opencv\sources\opencv\modules\core\src\directx.cpp:1157:37: warning: missing initializer for member 'D3D11_TEXTURE2D_DESC::ArraySize' [-Wmissing-field-initializers]
D:\temp\opencv\sources\opencv\modules\core\src\directx.cpp:1157:37: warning: missing initializer for member 'D3D11_TEXTURE2D_DESC::Format' [-Wmissing-field-initializers]
D:\temp\opencv\sources\opencv\modules\core\src\directx.cpp:1157:37: warning: missing initializer for member 'D3D11_TEXTURE2D_DESC::SampleDesc' [-Wmissing-field-initializers]
D:\temp\opencv\sources\opencv\modules\core\src\directx.cpp:1157:37: warning: missing initializer for member 'D3D11_TEXTURE2D_DESC::Usage' [-Wmissing-field-initializers]
D:\temp\opencv\sources\opencv\modules\core\src\directx.cpp:1157:37: warning: missing initializer for member 'D3D11_TEXTURE2D_DESC::BindFlags' [-Wmissing-field-initializers]
D:\temp\opencv\sources\opencv\modules\core\src\directx.cpp:1157:37: warning: missing initializer for member 'D3D11_TEXTURE2D_DESC::CPUAccessFlags' [-Wmissing-field-initializers]
D:\temp\opencv\sources\opencv\modules\core\src\directx.cpp:1157:37: warning: missing initializer for member 'D3D11_TEXTURE2D_DESC::MiscFlags' [-Wmissing-field-initializers]
D:\temp\opencv\sources\opencv\modules\core\src\directx.cpp: In function 'void cv::directx::__convertFromD3D11Texture2DN(ID3D11Texture2D*, cv::OutputArray)':
D:\temp\opencv\sources\opencv\modules\core\src\directx.cpp:1254:37: warning: missing initializer for member 'D3D11_TEXTURE2D_DESC::Height' [-Wmissing-field-initializers]
1254 | D3D11_TEXTURE2D_DESC desc = { 0 };
| ^
D:\temp\opencv\sources\opencv\modules\core\src\directx.cpp:1254:37: warning: missing initializer for member 'D3D11_TEXTURE2D_DESC::MipLevels' [-Wmissing-field-initializers]
D:\temp\opencv\sources\opencv\modules\core\src\directx.cpp:1254:37: warning: missing initializer for member 'D3D11_TEXTURE2D_DESC::ArraySize' [-Wmissing-field-initializers]
D:\temp\opencv\sources\opencv\modules\core\src\directx.cpp:1254:37: warning: missing initializer for member 'D3D11_TEXTURE2D_DESC::Format' [-Wmissing-field-initializers]
D:\temp\opencv\sources\opencv\modules\core\src\directx.cpp:1254:37: warning: missing initializer for member 'D3D11_TEXTURE2D_DESC::SampleDesc' [-Wmissing-field-initializers]
D:\temp\opencv\sources\opencv\modules\core\src\directx.cpp:1254:37: warning: missing initializer for member 'D3D11_TEXTURE2D_DESC::Usage' [-Wmissing-field-initializers]
D:\temp\opencv\sources\opencv\modules\core\src\directx.cpp:1254:37: warning: missing initializer for member 'D3D11_TEXTURE2D_DESC::BindFlags' [-Wmissing-field-initializers]
D:\temp\opencv\sources\opencv\modules\core\src\directx.cpp:1254:37: warning: missing initializer for member 'D3D11_TEXTURE2D_DESC::CPUAccessFlags' [-Wmissing-field-initializers]
D:\temp\opencv\sources\opencv\modules\core\src\directx.cpp:1254:37: warning: missing initializer for member 'D3D11_TEXTURE2D_DESC::MiscFlags' [-Wmissing-field-initializers]
D:\temp\opencv\sources\opencv\modules\core\src\directx.cpp: In function 'void cv::directx::convertToD3D10Texture2D(cv::InputArray, ID3D10Texture2D*)':
D:\temp\opencv\sources\opencv\modules\core\src\directx.cpp:1413:37: warning: missing initializer for member 'D3D10_TEXTURE2D_DESC::Height' [-Wmissing-field-initializers]
1413 | D3D10_TEXTURE2D_DESC desc = { 0 };
| ^
D:\temp\opencv\sources\opencv\modules\core\src\directx.cpp:1413:37: warning: missing initializer for member 'D3D10_TEXTURE2D_DESC::MipLevels' [-Wmissing-field-initializers]
D:\temp\opencv\sources\opencv\modules\core\src\directx.cpp:1413:37: warning: missing initializer for member 'D3D10_TEXTURE2D_DESC::ArraySize' [-Wmissing-field-initializers]
D:\temp\opencv\sources\opencv\modules\core\src\directx.cpp:1413:37: warning: missing initializer for member 'D3D10_TEXTURE2D_DESC::Format' [-Wmissing-field-initializers]
D:\temp\opencv\sources\opencv\modules\core\src\directx.cpp:1413:37: warning: missing initializer for member 'D3D10_TEXTURE2D_DESC::SampleDesc' [-Wmissing-field-initializers]
D:\temp\opencv\sources\opencv\modules\core\src\directx.cpp:1413:37: warning: missing initializer for member 'D3D10_TEXTURE2D_DESC::Usage' [-Wmissing-field-initializers]
D:\temp\opencv\sources\opencv\modules\core\src\directx.cpp:1413:37: warning: missing initializer for member 'D3D10_TEXTURE2D_DESC::BindFlags' [-Wmissing-field-initializers]
D:\temp\opencv\sources\opencv\modules\core\src\directx.cpp:1413:37: warning: missing initializer for member 'D3D10_TEXTURE2D_DESC::CPUAccessFlags' [-Wmissing-field-initializers]
D:\temp\opencv\sources\opencv\modules\core\src\directx.cpp:1413:37: warning: missing initializer for member 'D3D10_TEXTURE2D_DESC::MiscFlags' [-Wmissing-field-initializers]
D:\temp\opencv\sources\opencv\modules\core\src\directx.cpp: In function 'void cv::directx::convertFromD3D10Texture2D(ID3D10Texture2D*, cv::OutputArray)':
D:\temp\opencv\sources\opencv\modules\core\src\directx.cpp:1476:37: warning: missing initializer for member 'D3D10_TEXTURE2D_DESC::Height' [-Wmissing-field-initializers]
1476 | D3D10_TEXTURE2D_DESC desc = { 0 };
| ^
D:\temp\opencv\sources\opencv\modules\core\src\directx.cpp:1476:37: warning: missing initializer for member 'D3D10_TEXTURE2D_DESC::MipLevels' [-Wmissing-field-initializers]
D:\temp\opencv\sources\opencv\modules\core\src\directx.cpp:1476:37: warning: missing initializer for member 'D3D10_TEXTURE2D_DESC::ArraySize' [-Wmissing-field-initializers]
D:\temp\opencv\sources\opencv\modules\core\src\directx.cpp:1476:37: warning: missing initializer for member 'D3D10_TEXTURE2D_DESC::Format' [-Wmissing-field-initializers]
D:\temp\opencv\sources\opencv\modules\core\src\directx.cpp:1476:37: warning: missing initializer for member 'D3D10_TEXTURE2D_DESC::SampleDesc' [-Wmissing-field-initializers]
D:\temp\opencv\sources\opencv\modules\core\src\directx.cpp:1476:37: warning: missing initializer for member 'D3D10_TEXTURE2D_DESC::Usage' [-Wmissing-field-initializers]
D:\temp\opencv\sources\opencv\modules\core\src\directx.cpp:1476:37: warning: missing initializer for member 'D3D10_TEXTURE2D_DESC::BindFlags' [-Wmissing-field-initializers]
D:\temp\opencv\sources\opencv\modules\core\src\directx.cpp:1476:37: warning: missing initializer for member 'D3D10_TEXTURE2D_DESC::CPUAccessFlags' [-Wmissing-field-initializers]
D:\temp\opencv\sources\opencv\modules\core\src\directx.cpp:1476:37: warning: missing initializer for member 'D3D10_TEXTURE2D_DESC::MiscFlags' [-Wmissing-field-initializers]
[ 24%] Building CXX object modules/world/CMakeFiles/opencv_world.dir/__/core/src/matrix_expressions.cpp.obj
[ 24%] Building CXX object modules/world/CMakeFiles/opencv_world.dir/__/core/src/matrix_iterator.cpp.obj
[ 24%] Building CXX object modules/world/CMakeFiles/opencv_world.dir/__/core/src/matrix_operations.cpp.obj
......
[ 37%] Building CXX object modules/world/CMakeFiles/opencv_world.dir/__/features2d/src/gftt.cpp.obj
[ 37%] Building CXX object modules/world/CMakeFiles/opencv_world.dir/__/features2d/src/kaze.cpp.obj
[ 37%] Building CXX object modules/world/CMakeFiles/opencv_world.dir/__/features2d/src/kaze/AKAZEFeatures.cpp.obj
D:\temp\opencv\sources\opencv\modules\dnn\src\vkcom\vulkan\vk_loader.cpp: In function 'bool cv::dnn::vkcom::loadVulkanEntry()':
D:\temp\opencv\sources\opencv\modules\dnn\src\vkcom\vulkan\vk_loader.cpp:21:9: warning: cast between incompatible function types from 'FARPROC' {aka 'long long int (*)()'} to 'PFN_vkGetInstanceProcAddr' {aka 'void (* (*)(VkInstance_T*, const char*))()'} [-Wcast-function-type]
21 | (PFN_vkGetInstanceProcAddr)GetProcAddress(handle, "vkGetInstanceProcAddr");
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
D:\temp\opencv\sources\opencv\modules\dnn\src\vkcom\vulkan\vk_loader.cpp:103:29: note: in expansion of macro 'GET_VK_ENTRY_POINT'
103 | vkGetInstanceProcAddr = GET_VK_ENTRY_POINT(handle);
| ^~~~~~~~~~~~~~~~~~
[ 38%] Building CXX object modules/world/CMakeFiles/opencv_world.dir/__/features2d/src/kaze/KAZEFeatures.cpp.obj
[ 38%] Building CXX object modules/world/CMakeFiles/opencv_world.dir/__/features2d/src/kaze/nldiffusion_functions.cpp.obj
[ 38%] Building CXX object modules/world/CMakeFiles/opencv_world.dir/__/features2d/src/kaze/fed.cpp.obj
......
[ 40%] Building CXX object modules/world/CMakeFiles/opencv_world.dir/__/calib3d/src/epnp.cpp.obj
[ 40%] Building CXX object modules/world/CMakeFiles/opencv_world.dir/__/calib3d/src/fisheye.cpp.obj
[ 40%] Building CXX object modules/world/CMakeFiles/opencv_world.dir/__/calib3d/src/five-point.cpp.obj
D:\temp\opencv\sources\opencv\modules\videoio\src\cap_dshow.cpp:690:26: warning: 'virtual ULONG SampleGrabberCallback::AddRef()' can be marked override [-Wsuggest-override]
690 | STDMETHODIMP_(ULONG) AddRef() { return 1; }
| ^~~~~~
D:\temp\opencv\sources\opencv\modules\videoio\src\cap_dshow.cpp:691:26: warning: 'virtual ULONG SampleGrabberCallback::Release()' can be marked override [-Wsuggest-override]
691 | STDMETHODIMP_(ULONG) Release() { return 2; }
| ^~~~~~~
D:\temp\opencv\sources\opencv\modules\videoio\src\cap_dshow.cpp:695:18: warning: 'virtual HRESULT SampleGrabberCallback::QueryInterface(const IID&, void**)' can be marked override [-Wsuggest-override]
695 | STDMETHODIMP QueryInterface(REFIID, void **ppvObject){
| ^~~~~~~~~~~~~~
←[01m←[KD:\temp\opencv\sources\opencv\modules\videoio\src\cap_dshow.cpp:703:18:←[m←[K ←[01;35m←[Kwarning: ←[m←[K'←[01m←D:\temp\opencv\sources\opencv\modules\videoio\src\cap_dshow.cpp:727:18: warning: 'virtual HRESULT SampleGrabberCallback:BufferCB(double, BYTE*, long int)' can be marked override [-Wsuggest-override]
727 | STDMETHODIMP BufferCB(double, BYTE *, long){
| ^~~~~~~~
[ 40%] Building CXX object modules/world/CMakeFiles/opencv_world.dir/__/calib3d/src/fundam.cpp.obj
[ 40%] Building CXX object modules/world/CMakeFiles/opencv_world.dir/__/calib3d/src/homography_decomp.cpp.obj
[ 40%] Building CXX object modules/world/CMakeFiles/opencv_world.dir/__/calib3d/src/ippe.cpp.obj
......
[ 42%] Building CXX object modules/world/CMakeFiles/opencv_world.dir/__/objdetect/src/barcode_decoder/common/utils.cpp.obj
[ 42%] Building CXX object modules/world/CMakeFiles/opencv_world.dir/__/objdetect/src/barcode_decoder/ean13_decoder.cpp.obj
[ 42%] Building CXX object modules/world/CMakeFiles/opencv_world.dir/__/objdetect/src/barcode_decoder/ean8_decoder.cpp.obj
In file included from D:/temp/opencv/sources/opencv/modules/imgproc/include/opencv2/imgproc/types_c.h:46,
from D:/temp/opencv/sources/opencv/modules/imgproc/include/opencv2/imgproc/imgproc_c.h:46,
from D:\temp\opencv\sources\opencv\modules\highgui\src\precomp.hpp:61,
from D:\temp\opencv\sources\opencv\modules\highgui\src\window_w32.cpp:42:
D:\temp\opencv\sources\opencv\modules\highgui\src\window_w32.cpp: In function 'CvRect cvGetWindowRect_W32(const char*)':
D:/temp/opencv/sources/opencv/modules/core/include/opencv2/core/core_c.h:2674:13: warning: unused variable 'cvFuncName'[-Wunused-variable]
2674 | static char cvFuncName[] = Name
| ^~~~~~~~~~
D:\temp\opencv\sources\opencv\modules\highgui\src\window_w32.cpp:527:5: note: in expansion of macro 'CV_FUNCNAME'
527 | CV_FUNCNAME("cvGetWindowRect_W32");
| ^~~~~~~~~~~
D:\temp\opencv\sources\opencv\modules\highgui\src\window_w32.cpp: In function 'cv::Rect getImageRect_(CvWindow&)':
D:\temp\opencv\sources\opencv\modules\highgui\src\window_w32.cpp:546:21: warning: missing initializer for member 'tagRECT::top' [-Wmissing-field-initializers]
546 | RECT rect = { 0 };
| ^
D:\temp\opencv\sources\opencv\modules\highgui\src\window_w32.cpp:546:21: warning: missing initializer for member 'tagRECT::right' [-Wmissing-field-initializers]
D:\temp\opencv\sources\opencv\modules\highgui\src\window_w32.cpp:546:21: warning: missing initializer for member 'tagRECT::bottom' [-Wmissing-field-initializers]
D:\temp\opencv\sources\opencv\modules\highgui\src\window_w32.cpp: In function 'double cvGetModeWindow_W32(const char*)':
D:/temp/opencv/sources/opencv/modules/core/include/opencv2/core/core_c.h:2674:13: warning: unused variable 'cvFuncName'[-Wunused-variable]
2674 | static char cvFuncName[] = Name
| ^~~~~~~~~~
D:\temp\opencv\sources\opencv\modules\highgui\src\window_w32.cpp:556:5: note: in expansion of macro 'CV_FUNCNAME'
556 | CV_FUNCNAME("cvGetModeWindow_W32");
| ^~~~~~~~~~~
D:\temp\opencv\sources\opencv\modules\highgui\src\window_w32.cpp: In function 'void cvSetModeWindow_W32(const char*, double)':
D:/temp/opencv/sources/opencv/modules/core/include/opencv2/core/core_c.h:2674:13: warning: unused variable 'cvFuncName'[-Wunused-variable]
2674 | static char cvFuncName[] = Name
| ^~~~~~~~~~
D:\temp\opencv\sources\opencv\modules\highgui\src\window_w32.cpp:574:5: note: in expansion of macro 'CV_FUNCNAME'
574 | CV_FUNCNAME("cvSetModeWindow_W32");
| ^~~~~~~~~~~
D:\temp\opencv\sources\opencv\modules\highgui\src\window_w32.cpp: In function 'bool setModeWindow_(CvWindow&, int)':
D:\temp\opencv\sources\opencv\modules\highgui\src\window_w32.cpp:614:29: warning: missing initializer for member 'tagRECT::top' [-Wmissing-field-initializers]
614 | RECT rect = { 0 };
| ^
D:\temp\opencv\sources\opencv\modules\highgui\src\window_w32.cpp:614:29: warning: missing initializer for member 'tagRECT::right' [-Wmissing-field-initializers]
D:\temp\opencv\sources\opencv\modules\highgui\src\window_w32.cpp:614:29: warning: missing initializer for member 'tagRECT::bottom' [-Wmissing-field-initializers]
D:\temp\opencv\sources\opencv\modules\highgui\src\window_w32.cpp: In function 'double getPropVsync_(CvWindow&)':
D:\temp\opencv\sources\opencv\modules\highgui\src\window_w32.cpp:732:30: warning: cast between incompatible function types from 'PROC' {aka 'long long int (*)()'} to 'PFNWGLGETEXTENSIONSSTRINGEXTPROC' {aka 'const char* (*)()'} [-Wcast-function-type]
732 | wglGetExtensionsString = (PFNWGLGETEXTENSIONSSTRINGEXTPROC)wglGetProcAddress("wglGetExtensionsStringEXT");
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
D:\temp\opencv\sources\opencv\modules\highgui\src\window_w32.cpp:745:26: warning: cast between incompatible function types from 'PROC' {aka 'long long int (*)()'} to 'PFNWGLGETSWAPINTERVALPROC' {aka 'int (*)()'} [-Wcast-function-type]
745 | wglGetSwapInterval = (PFNWGLGETSWAPINTERVALPROC)wglGetProcAddress("wglGetSwapIntervalEXT");
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
D:\temp\opencv\sources\opencv\modules\highgui\src\window_w32.cpp: In function 'bool setPropVsync_(CvWindow&, bool)':
D:\temp\opencv\sources\opencv\modules\highgui\src\window_w32.cpp:785:30: warning: cast between incompatible function types from 'PROC' {aka 'long long int (*)()'} to 'PFNWGLGETEXTENSIONSSTRINGEXTPROC' {aka 'const char* (*)()'} [-Wcast-function-type]
785 | wglGetExtensionsString = (PFNWGLGETEXTENSIONSSTRINGEXTPROC)wglGetProcAddress("wglGetExtensionsStringEXT");
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
D:\temp\opencv\sources\opencv\modules\highgui\src\window_w32.cpp:798:23: warning: cast between incompatible function types from 'PROC' {aka 'long long int (*)()'} to 'PFNWGLSWAPINTERVALPROC' {aka 'int (*)(int)'} [-Wcast-function-type]
798 | wglSwapInterval = (PFNWGLSWAPINTERVALPROC)wglGetProcAddress("wglSwapIntervalEXT");
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
D:\temp\opencv\sources\opencv\modules\highgui\src\window_w32.cpp: In function 'double cvGetPropWindowAutoSize_W32(constchar*)':
D:/temp/opencv/sources/opencv/modules/core/include/opencv2/core/core_c.h:2674:13: warning: unused variable 'cvFuncName'[-Wunused-variable]
2674 | static char cvFuncName[] = Name
| ^~~~~~~~~~
D:\temp\opencv\sources\opencv\modules\highgui\src\window_w32.cpp:828:5: note: in expansion of macro 'CV_FUNCNAME'
828 | CV_FUNCNAME("cvSetCloseCallback");
| ^~~~~~~~~~~
D:\temp\opencv\sources\opencv\modules\highgui\src\window_w32.cpp: In function 'double cvGetRatioWindow_W32(const char*)':
D:/temp/opencv/sources/opencv/modules/core/include/opencv2/core/core_c.h:2674:13: warning: unused variable 'cvFuncName'[-Wunused-variable]
2674 | static char cvFuncName[] = Name
| ^~~~~~~~~~
D:\temp\opencv\sources\opencv\modules\highgui\src\window_w32.cpp:848:5: note: in expansion of macro 'CV_FUNCNAME'
848 | CV_FUNCNAME("cvGetRatioWindow_W32");
| ^~~~~~~~~~~
D:\temp\opencv\sources\opencv\modules\highgui\src\window_w32.cpp: In function 'double cvGetOpenGlProp_W32(const char*)':
D:/temp/opencv/sources/opencv/modules/core/include/opencv2/core/core_c.h:2674:13: warning: unused variable 'cvFuncName'[-Wunused-variable]
2674 | static char cvFuncName[] = Name
| ^~~~~~~~~~
D:\temp\opencv\sources\opencv\modules\highgui\src\window_w32.cpp:869:5: note: in expansion of macro 'CV_FUNCNAME'
869 | CV_FUNCNAME("cvGetOpenGlProp_W32");
| ^~~~~~~~~~~
D:\temp\opencv\sources\opencv\modules\highgui\src\window_w32.cpp: In function 'double cvGetPropVisible_W32(const char*)':
D:/temp/opencv/sources/opencv/modules/core/include/opencv2/core/core_c.h:2674:13: warning: unused variable 'cvFuncName'[-Wunused-variable]
2674 | static char cvFuncName[] = Name
| ^~~~~~~~~~
D:\temp\opencv\sources\opencv\modules\highgui\src\window_w32.cpp:892:5: note: in expansion of macro 'CV_FUNCNAME'
892 | CV_FUNCNAME("cvGetPropVisible_W32");
| ^~~~~~~~~~~
D:\temp\opencv\sources\opencv\modules\highgui\src\window_w32.cpp: In function 'void {anonymous}::createGlContext(HWND, HDC__*&, HGLRC__*&, bool&)':
D:/temp/opencv/sources/opencv/modules/core/include/opencv2/core/core_c.h:2674:13: warning: unused variable 'cvFuncName'[-Wunused-variable]
2674 | static char cvFuncName[] = Name
| ^~~~~~~~~~
D:\temp\opencv\sources\opencv\modules\highgui\src\window_w32.cpp:914:9: note: in expansion of macro 'CV_FUNCNAME'
914 | CV_FUNCNAME("createGlContext");
| ^~~~~~~~~~~
D:\temp\opencv\sources\opencv\modules\highgui\src\window_w32.cpp: In function 'void {anonymous}::drawGl(CvWindow&)':
D:/temp/opencv/sources/opencv/modules/core/include/opencv2/core/core_c.h:2674:13: warning: unused variable 'cvFuncName'[-Wunused-variable]
2674 | static char cvFuncName[] = Name
| ^~~~~~~~~~
D:\temp\opencv\sources\opencv\modules\highgui\src\window_w32.cpp:988:9: note: in expansion of macro 'CV_FUNCNAME'
988 | CV_FUNCNAME("drawGl");
| ^~~~~~~~~~~
D:\temp\opencv\sources\opencv\modules\highgui\src\window_w32.cpp: In function 'void {anonymous}::resizeGl(CvWindow&)':
D:/temp/opencv/sources/opencv/modules/core/include/opencv2/core/core_c.h:2674:13: warning: unused variable 'cvFuncName'[-Wunused-variable]
2674 | static char cvFuncName[] = Name
| ^~~~~~~~~~
D:\temp\opencv\sources\opencv\modules\highgui\src\window_w32.cpp:1006:9: note: in expansion of macro 'CV_FUNCNAME'
1006 | CV_FUNCNAME("resizeGl");
| ^~~~~~~~~~~
D:\temp\opencv\sources\opencv\modules\highgui\src\window_w32.cpp: In function 'int cvNamedWindow(const char*, int)':
D:/temp/opencv/sources/opencv/modules/core/include/opencv2/core/core_c.h:2674:13: warning: unused variable 'cvFuncName'[-Wunused-variable]
2674 | static char cvFuncName[] = Name
| ^~~~~~~~~~
D:\temp\opencv\sources\opencv\modules\highgui\src\window_w32.cpp:1023:5: note: in expansion of macro 'CV_FUNCNAME'
1023 | CV_FUNCNAME("cvNamedWindow");
| ^~~~~~~~~~~
D:\temp\opencv\sources\opencv\modules\highgui\src\window_w32.cpp: In function 'void cvSetOpenGlContext(const char*)':
D:/temp/opencv/sources/opencv/modules/core/include/opencv2/core/core_c.h:2674:13: warning: unused variable 'cvFuncName'[-Wunused-variable]
2674 | static char cvFuncName[] = Name
| ^~~~~~~~~~
D:\temp\opencv\sources\opencv\modules\highgui\src\window_w32.cpp:1141:5: note: in expansion of macro 'CV_FUNCNAME'
1141 | CV_FUNCNAME("cvSetOpenGlContext");
| ^~~~~~~~~~~
[ 42%] Building CXX object modules/world/CMakeFiles/opencv_world.dir/__/objdetect/src/barcode_decoder/upcean_decoder.cpp.obj
D:\temp\opencv\sources\opencv\modules\highgui\src\window_w32.cpp: In function 'void cvUpdateWindow(const char*)':
D:/temp/opencv/sources/opencv/modules/core/include/opencv2/core/core_c.h:2674:13: warning: unused variable 'cvFuncName'[-Wunused-variable]
2674 | static char cvFuncName[] = Name
| ^~~~~~~~~~
D:\temp\opencv\sources\opencv\modules\highgui\src\window_w32.cpp:1161:5: note: in expansion of macro 'CV_FUNCNAME'
1161 | CV_FUNCNAME("cvUpdateWindow");
| ^~~~~~~~~~~
D:\temp\opencv\sources\opencv\modules\highgui\src\window_w32.cpp: In function 'void cvSetOpenGlDrawCallback(const char*, CvOpenGlDrawCallback, void*)':
D:/temp/opencv/sources/opencv/modules/core/include/opencv2/core/core_c.h:2674:13: warning: unused variable 'cvFuncName'[-Wunused-variable]
2674 | static char cvFuncName[] = Name
| ^~~~~~~~~~
D:\temp\opencv\sources\opencv\modules\highgui\src\window_w32.cpp:1177:5: note: in expansion of macro 'CV_FUNCNAME'
1177 | CV_FUNCNAME("cvCreateOpenGLCallback");
| ^~~~~~~~~~~
[ 42%] Building CXX object modules/world/CMakeFiles/opencv_world.dir/__/objdetect/src/barcode_detector/bardetect.cpp.obj
D:\temp\opencv\sources\opencv\modules\highgui\src\window_w32.cpp: In function 'void cvDestroyWindow(const char*)':
D:/temp/opencv/sources/opencv/modules/core/include/opencv2/core/core_c.h:2674:13: warning: unused variable 'cvFuncName'[-Wunused-variable]
2674 | static char cvFuncName[] = Name
| ^~~~~~~~~~
D:\temp\opencv\sources\opencv\modules\highgui\src\window_w32.cpp:1252:5: note: in expansion of macro 'CV_FUNCNAME'
1252 | CV_FUNCNAME("cvDestroyWindow");
| ^~~~~~~~~~~
D:\temp\opencv\sources\opencv\modules\highgui\src\window_w32.cpp: In function 'RECT icvCalcWindowRect(CvWindow&)':
D:\temp\opencv\sources\opencv\modules\highgui\src\window_w32.cpp:1287:22: warning: missing initializer for member 'tagRECT::top' [-Wmissing-field-initializers]
1287 | RECT crect = { 0 }, trect = { 0 }, rect = { 0 };
| ^
D:\temp\opencv\sources\opencv\modules\highgui\src\window_w32.cpp:1287:22: warning: missing initializer for member 'tagRECT::right' [-Wmissing-field-initializers]
D:\temp\opencv\sources\opencv\modules\highgui\src\window_w32.cpp:1287:22: warning: missing initializer for member 'tagRECT::bottom' [-Wmissing-field-initializers]
D:\temp\opencv\sources\opencv\modules\highgui\src\window_w32.cpp:1287:37: warning: missing initializer for member 'tagRECT::top' [-Wmissing-field-initializers]
1287 | RECT crect = { 0 }, trect = { 0 }, rect = { 0 };
| ^
D:\temp\opencv\sources\opencv\modules\highgui\src\window_w32.cpp:1287:37: warning: missing initializer for member 'tagRECT::right' [-Wmissing-field-initializers]
D:\temp\opencv\sources\opencv\modules\highgui\src\window_w32.cpp:1287:37: warning: missing initializer for member 'tagRECT::bottom' [-Wmissing-field-initializers]
D:\temp\opencv\sources\opencv\modules\highgui\src\window_w32.cpp:1287:51: warning: missing initializer for member 'tagRECT::top' [-Wmissing-field-initializers]
1287 | RECT crect = { 0 }, trect = { 0 }, rect = { 0 };
| ^
D:\temp\opencv\sources\opencv\modules\highgui\src\window_w32.cpp:1287:51: warning: missing initializer for member 'tagRECT::right' [-Wmissing-field-initializers]
D:\temp\opencv\sources\opencv\modules\highgui\src\window_w32.cpp:1287:51: warning: missing initializer for member 'tagRECT::bottom' [-Wmissing-field-initializers]
D:\temp\opencv\sources\opencv\modules\highgui\src\window_w32.cpp: In function 'void icvUpdateWindowPos(CvWindow&)':
D:\temp\opencv\sources\opencv\modules\highgui\src\window_w32.cpp:1339:21: warning: missing initializer for member 'tagRECT::top' [-Wmissing-field-initializers]
1339 | RECT rect = { 0 };
| ^
D:\temp\opencv\sources\opencv\modules\highgui\src\window_w32.cpp:1339:21: warning: missing initializer for member 'tagRECT::right' [-Wmissing-field-initializers]
D:\temp\opencv\sources\opencv\modules\highgui\src\window_w32.cpp:1339:21: warning: missing initializer for member 'tagRECT::bottom' [-Wmissing-field-initializers]
D:\temp\opencv\sources\opencv\modules\highgui\src\window_w32.cpp:1351:28: warning: missing initializer for member 'tagRECT::top' [-Wmissing-field-initializers]
1351 | RECT rmw = { 0 }, rw = icvCalcWindowRect(&window);
| ^
D:\temp\opencv\sources\opencv\modules\highgui\src\window_w32.cpp:1351:28: warning: missing initializer for member 'tagRECT::right' [-Wmissing-field-initializers]
D:\temp\opencv\sources\opencv\modules\highgui\src\window_w32.cpp:1351:28: warning: missing initializer for member 'tagRECT::bottom' [-Wmissing-field-initializers]
D:\temp\opencv\sources\opencv\modules\highgui\src\window_w32.cpp: In function 'void cvShowImage(const char*, const CvArr*)':
D:/temp/opencv/sources/opencv/modules/core/include/opencv2/core/core_c.h:2674:13: warning: unused variable 'cvFuncName'[-Wunused-variable]
2674 | static char cvFuncName[] = Name
| ^~~~~~~~~~
D:\temp\opencv\sources\opencv\modules\highgui\src\window_w32.cpp:1374:5: note: in expansion of macro 'CV_FUNCNAME'
1374 | CV_FUNCNAME("cvShowImage");
| ^~~~~~~~~~~
D:\temp\opencv\sources\opencv\modules\highgui\src\window_w32.cpp: In function 'void cvResizeWindow(const char*, int, int)':
D:/temp/opencv/sources/opencv/modules/core/include/opencv2/core/core_c.h:2674:13: warning: unused variable 'cvFuncName'[-Wunused-variable]
2674 | static char cvFuncName[] = Name
| ^~~~~~~~~~
D:\temp\opencv\sources\opencv\modules\highgui\src\window_w32.cpp:1464:5: note: in expansion of macro 'CV_FUNCNAME'
1464 | CV_FUNCNAME("cvResizeWindow");
| ^~~~~~~~~~~
D:\temp\opencv\sources\opencv\modules\highgui\src\window_w32.cpp: In function 'void resizeWindow_(CvWindow&, const cv::Size&)':
D:\temp\opencv\sources\opencv\modules\highgui\src\window_w32.cpp:1480:20: warning: missing initializer for member 'tagRECT::top' [-Wmissing-field-initializers]
1480 | RECT rmw = { 0 }, rw = { 0 }, rect = { 0 };
| ^
D:\temp\opencv\sources\opencv\modules\highgui\src\window_w32.cpp:1480:20: warning: missing initializer for member 'tagRECT::right' [-Wmissing-field-initializers]
D:\temp\opencv\sources\opencv\modules\highgui\src\window_w32.cpp:1480:20: warning: missing initializer for member 'tagRECT::bottom' [-Wmissing-field-initializers]
D:\temp\opencv\sources\opencv\modules\highgui\src\window_w32.cpp:1480:32: warning: missing initializer for member 'tagRECT::top' [-Wmissing-field-initializers]
1480 | RECT rmw = { 0 }, rw = { 0 }, rect = { 0 };
| ^
D:\temp\opencv\sources\opencv\modules\highgui\src\window_w32.cpp:1480:32: warning: missing initializer for member 'tagRECT::right' [-Wmissing-field-initializers]
D:\temp\opencv\sources\opencv\modules\highgui\src\window_w32.cpp:1480:32: warning: missing initializer for member 'tagRECT::bottom' [-Wmissing-field-initializers]
D:\temp\opencv\sources\opencv\modules\highgui\src\window_w32.cpp:1480:46: warning: missing initializer for member 'tagRECT::top' [-Wmissing-field-initializers]
1480 | RECT rmw = { 0 }, rw = { 0 }, rect = { 0 };
| ^
D:\temp\opencv\sources\opencv\modules\highgui\src\window_w32.cpp:1480:46: warning: missing initializer for member 'tagRECT::right' [-Wmissing-field-initializers]
D:\temp\opencv\sources\opencv\modules\highgui\src\window_w32.cpp:1480:46: warning: missing initializer for member 'tagRECT::bottom' [-Wmissing-field-initializers]
D:\temp\opencv\sources\opencv\modules\highgui\src\window_w32.cpp: In function 'void cvMoveWindow(const char*, int, int)':
D:/temp/opencv/sources/opencv/modules/core/include/opencv2/core/core_c.h:2674:13: warning: unused variable 'cvFuncName'[-Wunused-variable]
2674 | static char cvFuncName[] = Name
| ^~~~~~~~~~
D:\temp\opencv\sources\opencv\modules\highgui\src\window_w32.cpp:1506:5: note: in expansion of macro 'CV_FUNCNAME'
1506 | CV_FUNCNAME("cvMoveWindow");
| ^~~~~~~~~~~
D:\temp\opencv\sources\opencv\modules\highgui\src\window_w32.cpp: In function 'void moveWindow_(CvWindow&, const cv::Point&)':
D:\temp\opencv\sources\opencv\modules\highgui\src\window_w32.cpp:1522:21: warning: missing initializer for member 'tagRECT::top' [-Wmissing-field-initializers]
1522 | RECT rect = { 0 };
| ^
D:\temp\opencv\sources\opencv\modules\highgui\src\window_w32.cpp:1522:21: warning: missing initializer for member 'tagRECT::right' [-Wmissing-field-initializers]
D:\temp\opencv\sources\opencv\modules\highgui\src\window_w32.cpp:1522:21: warning: missing initializer for member 'tagRECT::bottom' [-Wmissing-field-initializers]
D:\temp\opencv\sources\opencv\modules\highgui\src\window_w32.cpp: In function 'LRESULT MainWindowProc(HWND, UINT, WPARAM, LPARAM)':
D:\temp\opencv\sources\opencv\modules\highgui\src\window_w32.cpp:1554:29: warning: missing initializer for member 'tagRECT::top' [-Wmissing-field-initializers]
1554 | RECT rect = { 0 };
| ^
D:\temp\opencv\sources\opencv\modules\highgui\src\window_w32.cpp:1554:29: warning: missing initializer for member 'tagRECT::right' [-Wmissing-field-initializers]
D:\temp\opencv\sources\opencv\modules\highgui\src\window_w32.cpp:1554:29: warning: missing initializer for member 'tagRECT::bottom' [-Wmissing-field-initializers]
D:\temp\opencv\sources\opencv\modules\highgui\src\window_w32.cpp:1577:33: warning: missing initializer for member 'tagRECT::top' [-Wmissing-field-initializers]
1577 | RECT rect = { 0 };
| ^
D:\temp\opencv\sources\opencv\modules\highgui\src\window_w32.cpp:1577:33: warning: missing initializer for member 'tagRECT::right' [-Wmissing-field-initializers]
D:\temp\opencv\sources\opencv\modules\highgui\src\window_w32.cpp:1577:33: warning: missing initializer for member 'tagRECT::bottom' [-Wmissing-field-initializers]
D:\temp\opencv\sources\opencv\modules\highgui\src\window_w32.cpp:1593:27: warning: missing initializer for member 'tagRECT::top' [-Wmissing-field-initializers]
1593 | RECT rect = { 0 };
| ^
D:\temp\opencv\sources\opencv\modules\highgui\src\window_w32.cpp:1593:27: warning: missing initializer for member 'tagRECT::right' [-Wmissing-field-initializers]
D:\temp\opencv\sources\opencv\modules\highgui\src\window_w32.cpp:1593:27: warning: missing initializer for member 'tagRECT::bottom' [-Wmissing-field-initializers]
D:\temp\opencv\sources\opencv\modules\highgui\src\window_w32.cpp:1644:27: warning: missing initializer for member 'tagRECT::top' [-Wmissing-field-initializers]
1644 | RECT rect = { 0 };
| ^
D:\temp\opencv\sources\opencv\modules\highgui\src\window_w32.cpp:1644:27: warning: missing initializer for member 'tagRECT::right' [-Wmissing-field-initializers]
D:\temp\opencv\sources\opencv\modules\highgui\src\window_w32.cpp:1644:27: warning: missing initializer for member 'tagRECT::bottom' [-Wmissing-field-initializers]
D:\temp\opencv\sources\opencv\modules\highgui\src\window_w32.cpp:1671:27: warning: missing initializer for member 'tagRECT::top' [-Wmissing-field-initializers]
1671 | RECT cr = { 0 }, tr = { 0 }, wrc = { 0 };
| ^
D:\temp\opencv\sources\opencv\modules\highgui\src\window_w32.cpp:1671:27: warning: missing initializer for member 'tagRECT::right' [-Wmissing-field-initializers]
D:\temp\opencv\sources\opencv\modules\highgui\src\window_w32.cpp:1671:27: warning: missing initializer for member 'tagRECT::bottom' [-Wmissing-field-initializers]
D:\temp\opencv\sources\opencv\modules\highgui\src\window_w32.cpp:1671:39: warning: missing initializer for member 'tagRECT::top' [-Wmissing-field-initializers]
1671 | RECT cr = { 0 }, tr = { 0 }, wrc = { 0 };
| ^
D:\temp\opencv\sources\opencv\modules\highgui\src\window_w32.cpp:1671:39: warning: missing initializer for member 'tagRECT::right' [-Wmissing-field-initializers]
D:\temp\opencv\sources\opencv\modules\highgui\src\window_w32.cpp:1671:39: warning: missing initializer for member 'tagRECT::bottom' [-Wmissing-field-initializers]
D:\temp\opencv\sources\opencv\modules\highgui\src\window_w32.cpp:1671:52: warning: missing initializer for member 'tagRECT::top' [-Wmissing-field-initializers]
1671 | RECT cr = { 0 }, tr = { 0 }, wrc = { 0 };
| ^
D:\temp\opencv\sources\opencv\modules\highgui\src\window_w32.cpp:1671:52: warning: missing initializer for member 'tagRECT::right' [-Wmissing-field-initializers]
D:\temp\opencv\sources\opencv\modules\highgui\src\window_w32.cpp:1671:52: warning: missing initializer for member 'tagRECT::bottom' [-Wmissing-field-initializers]
D:\temp\opencv\sources\opencv\modules\highgui\src\window_w32.cpp: In function 'LRESULT HighGUIProc(HWND, UINT, WPARAM, LPARAM)':
D:\temp\opencv\sources\opencv\modules\highgui\src\window_w32.cpp:1789:22: warning: left operand of comma operator has no effect [-Wunused-value]
1789 | } while (0,0); // (0,0) instead of (0) to avoid MSVC compiler warning C4127: "conditional expression is constant"
| ^
D:\temp\opencv\sources\opencv\modules\highgui\src\window_w32.cpp:1856:33: warning: missing initializer for member 'tagRECT::top' [-Wmissing-field-initializers]
1856 | RECT rect = { 0 };
| ^
D:\temp\opencv\sources\opencv\modules\highgui\src\window_w32.cpp:1856:33: warning: missing initializer for member 'tagRECT::right' [-Wmissing-field-initializers]
D:\temp\opencv\sources\opencv\modules\highgui\src\window_w32.cpp:1856:33: warning: missing initializer for member 'tagRECT::bottom' [-Wmissing-field-initializers]
D:\temp\opencv\sources\opencv\modules\highgui\src\window_w32.cpp:1917:33: warning: missing initializer for member 'tagRECT::top' [-Wmissing-field-initializers]
1917 | RECT rect = { 0 };
| ^
D:\temp\opencv\sources\opencv\modules\highgui\src\window_w32.cpp:1917:33: warning: missing initializer for member 'tagRECT::right' [-Wmissing-field-initializers]
D:\temp\opencv\sources\opencv\modules\highgui\src\window_w32.cpp:1917:33: warning: missing initializer for member 'tagRECT::bottom' [-Wmissing-field-initializers]
D:\temp\opencv\sources\opencv\modules\highgui\src\window_w32.cpp: In function 'LRESULT HGToolbarProc(HWND, UINT, WPARAM, LPARAM)':
D:\temp\opencv\sources\opencv\modules\highgui\src\window_w32.cpp:2077:33: warning: missing initializer for member 'tagRECT::top' [-Wmissing-field-initializers]
2077 | RECT rect = { 0 };
| ^
D:\temp\opencv\sources\opencv\modules\highgui\src\window_w32.cpp:2077:33: warning: missing initializer for member 'tagRECT::right' [-Wmissing-field-initializers]
D:\temp\opencv\sources\opencv\modules\highgui\src\window_w32.cpp:2077:33: warning: missing initializer for member 'tagRECT::bottom' [-Wmissing-field-initializers]
D:\temp\opencv\sources\opencv\modules\highgui\src\window_w32.cpp: In function 'int icvCreateTrackbar(const char*, constchar*, int*, int, CvTrackbarCallback, CvTrackbarCallback2, void*)':
D:/temp/opencv/sources/opencv/modules/core/include/opencv2/core/core_c.h:2674:13: warning: unused variable 'cvFuncName'[-Wunused-variable]
2674 | static char cvFuncName[] = Name
| ^~~~~~~~~~
D:\temp\opencv\sources\opencv\modules\highgui\src\window_w32.cpp:2355:5: note: in expansion of macro 'CV_FUNCNAME'
2355 | CV_FUNCNAME("icvCreateTrackbar");
| ^~~~~~~~~~~
D:\temp\opencv\sources\opencv\modules\highgui\src\window_w32.cpp: In function 'std::shared_ptr<CvTrackbar> createTrackbar_(CvWindow&, const std::string&, int, cv::TrackbarCallback, void*)':
D:\temp\opencv\sources\opencv\modules\highgui\src\window_w32.cpp:2460:21: warning: missing initializer for member 'tagRECT::top' [-Wmissing-field-initializers]
2460 | RECT rect = { 0 };
| ^
D:\temp\opencv\sources\opencv\modules\highgui\src\window_w32.cpp:2460:21: warning: missing initializer for member 'tagRECT::right' [-Wmissing-field-initializers]
D:\temp\opencv\sources\opencv\modules\highgui\src\window_w32.cpp:2460:21: warning: missing initializer for member 'tagRECT::bottom' [-Wmissing-field-initializers]
D:\temp\opencv\sources\opencv\modules\highgui\src\window_w32.cpp: In function 'void cvSetMouseCallback(const char*, CvMouseCallback, void*)':
D:/temp/opencv/sources/opencv/modules/core/include/opencv2/core/core_c.h:2674:13: warning: unused variable 'cvFuncName'[-Wunused-variable]
2674 | static char cvFuncName[] = Name
| ^~~~~~~~~~
D:\temp\opencv\sources\opencv\modules\highgui\src\window_w32.cpp:2543:5: note: in expansion of macro 'CV_FUNCNAME'
2543 | CV_FUNCNAME("cvSetMouseCallback");
| ^~~~~~~~~~~
D:\temp\opencv\sources\opencv\modules\highgui\src\window_w32.cpp: In function 'int cvGetTrackbarPos(const char*, const char*)':
D:/temp/opencv/sources/opencv/modules/core/include/opencv2/core/core_c.h:2674:13: warning: unused variable 'cvFuncName'[-Wunused-variable]
2674 | static char cvFuncName[] = Name
| ^~~~~~~~~~
D:\temp\opencv\sources\opencv\modules\highgui\src\window_w32.cpp:2561:5: note: in expansion of macro 'CV_FUNCNAME'
2561 | CV_FUNCNAME("cvGetTrackbarPos");
| ^~~~~~~~~~~
D:\temp\opencv\sources\opencv\modules\highgui\src\window_w32.cpp: In function 'void cvSetTrackbarPos(const char*, constchar*, int)':
D:/temp/opencv/sources/opencv/modules/core/include/opencv2/core/core_c.h:2674:13: warning: unused variable 'cvFuncName'[-Wunused-variable]
2674 | static char cvFuncName[] = Name
| ^~~~~~~~~~
D:\temp\opencv\sources\opencv\modules\highgui\src\window_w32.cpp:2582:5: note: in expansion of macro 'CV_FUNCNAME'
2582 | CV_FUNCNAME("cvSetTrackbarPos");
| ^~~~~~~~~~~
D:\temp\opencv\sources\opencv\modules\highgui\src\window_w32.cpp: In function 'void cvSetTrackbarMax(const char*, constchar*, int)':
D:/temp/opencv/sources/opencv/modules/core/include/opencv2/core/core_c.h:2674:13: warning: unused variable 'cvFuncName'[-Wunused-variable]
2674 | static char cvFuncName[] = Name
| ^~~~~~~~~~
D:\temp\opencv\sources\opencv\modules\highgui\src\window_w32.cpp:2612:5: note: in expansion of macro 'CV_FUNCNAME'
2612 | CV_FUNCNAME("cvSetTrackbarMax");
| ^~~~~~~~~~~
D:\temp\opencv\sources\opencv\modules\highgui\src\window_w32.cpp: In function 'void cvSetTrackbarMin(const char*, constchar*, int)':
D:/temp/opencv/sources/opencv/modules/core/include/opencv2/core/core_c.h:2674:13: warning: unused variable 'cvFuncName'[-Wunused-variable]
2674 | static char cvFuncName[] = Name
| ^~~~~~~~~~
D:\temp\opencv\sources\opencv\modules\highgui\src\window_w32.cpp:2641:5: note: in expansion of macro 'CV_FUNCNAME'
2641 | CV_FUNCNAME("cvSetTrackbarMin");
| ^~~~~~~~~~~
D:\temp\opencv\sources\opencv\modules\highgui\src\window_w32.cpp: In function 'void* cvGetWindowHandle(const char*)':
D:/temp/opencv/sources/opencv/modules/core/include/opencv2/core/core_c.h:2674:13: warning: unused variable 'cvFuncName'[-Wunused-variable]
2674 | static char cvFuncName[] = Name
| ^~~~~~~~~~
D:\temp\opencv\sources\opencv\modules\highgui\src\window_w32.cpp:2670:5: note: in expansion of macro 'CV_FUNCNAME'
2670 | CV_FUNCNAME("cvGetWindowHandle");
| ^~~~~~~~~~~
D:\temp\opencv\sources\opencv\modules\highgui\src\window_w32.cpp: In function 'const char* cvGetWindowName(void*)':
D:/temp/opencv/sources/opencv/modules/core/include/opencv2/core/core_c.h:2674:13: warning: unused variable 'cvFuncName'[-Wunused-variable]
2674 | static char cvFuncName[] = Name
| ^~~~~~~~~~
D:\temp\opencv\sources\opencv\modules\highgui\src\window_w32.cpp:2687:5: note: in expansion of macro 'CV_FUNCNAME'
2687 | CV_FUNCNAME("cvGetWindowName");
| ^~~~~~~~~~~
[ 42%] Building CXX object modules/world/CMakeFiles/opencv_world.dir/__/objdetect/src/cascadedetect.cpp.obj
D:\temp\opencv\sources\opencv\modules\highgui\src\window_w32.cpp: In function 'LRESULT MainWindowProc(HWND, UINT, WPARAM, LPARAM)':
D:\temp\opencv\sources\opencv\modules\highgui\src\window_w32.cpp:1616:8: warning: this statement may fall through [-Wimplicit-fallthrough=]
1616 | }
| ^
D:\temp\opencv\sources\opencv\modules\highgui\src\window_w32.cpp:1618:5: note: here
1618 | case WM_ACTIVATE:
| ^~~~
[ 42%] Building CXX object modules/world/CMakeFiles/opencv_world.dir/__/objdetect/src/cascadedetect_convert.cpp.obj
[ 42%] Building CXX object modules/world/CMakeFiles/opencv_world.dir/__/objdetect/src/detection_based_tracker.cpp.obj
[ 42%] Building CXX object modules/world/CMakeFiles/opencv_world.dir/__/objdetect/src/face_detect.cpp.obj
......
[ 48%] Building CXX object modules/world/CMakeFiles/opencv_world.dir/__/gapi/src/backends/ie/giebackend/giewrapper.cpp.obj
[ 48%] Building CXX object modules/world/CMakeFiles/opencv_world.dir/__/gapi/src/backends/ov/govbackend.cpp.obj
[ 48%] ←[32mBuilding CXX object modules/world/CMakeFiles/opencv_world.dir/__/gapi/src/backends/onnx/gonnxbackend.cpp.obD:\temp\opencv\sources\opencv\modules\gapi\src\backends\ocl\goclcore.cpp:19: warning: ignoring '#pragma comment ' [-Wunknown-pragmas]
19 | #pragma comment(lib,"d3d11.lib")
D:\temp\opencv\sources\opencv\modules\gapi\src\backends\ocl\goclcore.cpp:23:9: warning: 'NOMINMAX' redefined
23 | #define NOMINMAX
| ^~~~~~~~
In file included from D:/Dev/MingGW/lib/gcc/x86_64-w64-mingw32/15.2.0/include/c++/x86_64-w64-mingw32/bits/c++config.h:727,
from D:/Dev/MingGW/lib/gcc/x86_64-w64-mingw32/15.2.0/include/c++/limits:49,
from D:/temp/opencv/sources/opencv/modules/core/include/opencv2/core/cvdef.h:185,
from D:/temp/opencv/sources/opencv/modules/core/include/opencv2/core.hpp:52,
from D:/temp/opencv/sources/opencv/modules/gapi/src/precomp.hpp:12,
from D:\temp\opencv\sources\opencv\modules\gapi\src\backends\ocl\goclcore.cpp:8:
D:/Dev/MingGW/lib/gcc/x86_64-w64-mingw32/15.2.0/include/c++/x86_64-w64-mingw32/bits/os_defines.h:45:9: note: this is the location of the previous definition
45 | #define NOMINMAX 1
| ^~~~~~~~
[ 48%] Building CXX object modules/world/CMakeFiles/opencv_world.dir/__/gapi/src/backends/onnx/dml_ep.cpp.obj
[ 48%] Building CXX object modules/world/CMakeFiles/opencv_world.dir/__/gapi/src/backends/render/grenderocv.cpp.obj
[ 48%] Building CXX object modules/world/CMakeFiles/opencv_world.dir/__/gapi/src/backends/onnx/coreml_ep.cpp.obj
......
[ 48%] Building CXX object modules/world/CMakeFiles/opencv_world.dir/__/gapi/src/backends/common/serialization.cpp.obj
[ 48%] Building CXX object modules/world/CMakeFiles/opencv_world.dir/__/gapi/src/backends/streaming/gstreamingbackend.cpp.obj
[ 48%] Building CXX object modules/world/CMakeFiles/opencv_world.dir/__/gapi/src/backends/ie/bindings_ie.cpp.obj
D:\temp\opencv\sources\opencv\modules\gapi\src\backends\common\serialization.cpp:12:9: warning: 'NOMINMAX' redefined
12 | #define NOMINMAX
| ^~~~~~~~
In file included from D:/Dev/MingGW/lib/gcc/x86_64-w64-mingw32/15.2.0/include/c++/x86_64-w64-mingw32/bits/c++config.h:727,
from D:/Dev/MingGW/lib/gcc/x86_64-w64-mingw32/15.2.0/include/c++/bits/requires_hosted.h:31,
from D:/Dev/MingGW/lib/gcc/x86_64-w64-mingw32/15.2.0/include/c++/set:62,
from D:\temp\opencv\sources\opencv\modules\gapi\src\backends\common\serialization.cpp:7:
D:/Dev/MingGW/lib/gcc/x86_64-w64-mingw32/15.2.0/include/c++/x86_64-w64-mingw32/bits/os_defines.h:45:9: note: this is the location of the previous definition
45 | #define NOMINMAX 1
| ^~~~~~~~
[ 48%] Building CXX object modules/world/CMakeFiles/opencv_world.dir/__/gapi/src/backends/onnx/bindings_onnx.cpp.obj
[ 49%] Building CXX object modules/world/CMakeFiles/opencv_world.dir/__/gapi/src/backends/ov/bindings_ov.cpp.obj
[ 49%] Building CXX object modules/world/CMakeFiles/opencv_world.dir/__/gapi/src/backends/python/gpythonbackend.cpp.obj
......
[ 52%] Building CXX object modules/world/CMakeFiles/example_gapi_semantic_segmentation.dir/__/gapi/samples/semantic_segmentation.cpp.obj
[ 52%] Building CXX object modules/world/CMakeFiles/example_gapi_slides_blur_gapi.dir/__/gapi/samples/slides_blur_gapi.cpp.obj
[ 52%] ←[32mBuilding CXX object modules/world/CMakeFiles/example_gapi_slides_sobel_cv.dir/__/gapi/samples/slides_sobel_[ 52%] Building CXX object modules/world/CMakeFiles/example_gapi_slides_sobel_gapi.dir/__/gapi/samples/slides_sobel_gapi.cpp.obj
D:\temp\opencv\sources\opencv\modules\gapi\samples\pipeline_modeling_tool.cpp:13:9: warning: 'NOMINMAX' redefined
13 | #define NOMINMAX
| ^~~~~~~~
In file included from D:/Dev/MingGW/lib/gcc/x86_64-w64-mingw32/15.2.0/include/c++/x86_64-w64-mingw32/bits/c++config.h:727,
from D:/Dev/MingGW/lib/gcc/x86_64-w64-mingw32/15.2.0/include/c++/bits/requires_hosted.h:31,
from D:/Dev/MingGW/lib/gcc/x86_64-w64-mingw32/15.2.0/include/c++/iostream:40,
from D:\temp\opencv\sources\opencv\modules\gapi\samples\pipeline_modeling_tool.cpp:1:
D:/Dev/MingGW/lib/gcc/x86_64-w64-mingw32/15.2.0/include/c++/x86_64-w64-mingw32/bits/os_defines.h:45:9: note: this is the location of the previous definition
45 | #define NOMINMAX 1
| ^~~~~~~~
D:\temp\opencv\sources\opencv\modules\gapi\samples\onevpl_infer_with_advanced_device_selection.cpp:26:9: warning: 'NOMINMAX' redefined
26 | #define NOMINMAX
| ^~~~~~~~
In file included from D:/Dev/MingGW/lib/gcc/x86_64-w64-mingw32/15.2.0/include/c++/x86_64-w64-mingw32/bits/c++config.h:727,
from D:/Dev/MingGW/lib/gcc/x86_64-w64-mingw32/15.2.0/include/c++/bits/stl_algobase.h:59,
from D:/Dev/MingGW/lib/gcc/x86_64-w64-mingw32/15.2.0/include/c++/algorithm:62,
from D:\temp\opencv\sources\opencv\modules\gapi\samples\onevpl_infer_with_advanced_device_selection.cpp:1:
D:/Dev/MingGW/lib/gcc/x86_64-w64-mingw32/15.2.0/include/c++/x86_64-w64-mingw32/bits/os_defines.h:45:9: note: this is the location of the previous definition
45 | #define NOMINMAX 1
| ^~~~~~~~
[ 52%] Linking CXX executable ..\..\bin\example_gapi_slides_sobel_gapi.exe
[ 52%] Linking CXX executable ..\..\bin\example_gapi_slides_sobel_cv.exe
[ 52%] Linking CXX executable ..\..\bin\example_gapi_draw_example.exe
......
[ 61%] Building CXX object samples/cpp/CMakeFiles/example_tutorial_Drawing_1.dir/tutorial_code/ImgProc/basic_drawing/Drawing_1.cpp.obj
[ 61%] Linking CXX executable ..\..\bin\example_tutorial_calcHist_Demo.exe
[ 61%] ←[32mBuilding CXX object samples/cpp/CMakeFiles/example_tutorial_changing_contrast_brightness_image.dir/tutorialD:\temp\opencv\sources\opencv\samples\cpp\tutorial_code\ImgProc\BasicLinearTransforms.cpp: In function 'int main(int, char**)':
D:\temp\opencv\sources\opencv\samples\cpp\tutorial_code\ImgProc\BasicLinearTransforms.cpp:58:45: warning: writing 1 byte into a region of size 0 [-Wstringop-overflow=]
58 | new_image.at<Vec3b>(y,x)[c] =
In file included from D:/temp/opencv/sources/opencv/modules/core/include/opencv2/core.hpp:56,
from D:/temp/opencv/sources/opencv/modules/imgcodecs/include/opencv2/imgcodecs.hpp:46,
from D:\temp\opencv\sources\opencv\samples\cpp\tutorial_code\ImgProc\BasicLinearTransforms.cpp:7:
D:/temp/opencv/sources/opencv/modules/core/include/opencv2/core/matx.hpp:218:9: note: at offset 3 into destination object 'cv::Matx<unsigned char, 3, 1>::val' of size 3
218 | _Tp val[m*n]; ///< matrix elements
| ^~~
D:\temp\opencv\sources\opencv\samples\cpp\tutorial_code\ImgProc\BasicLinearTransforms.cpp:58:45: warning: writing 1 byte into a region of size 0 [-Wstringop-overflow=]
58 | new_image.at<Vec3b>(y,x)[c] =
D:/temp/opencv/sources/opencv/modules/core/include/opencv2/core/matx.hpp:218:9: note: at offset 3 into destination object 'cv::Matx<unsigned char, 3, 1>::val' of size 3
218 | _Tp val[m*n]; ///< matrix elements
| ^~~
[ 61%] Linking CXX executable ..\..\bin\example_tutorial_compareHist_Demo.exe
[ 61%] Linking CXX executable ..\..\bin\example_cpp_flann_search_dataset.exe
[ 61%] Built target example_tutorial_EqualizeHist_Demo
......
[ 74%] Building CXX object modules/world/CMakeFiles/opencv_perf_core.dir/__/core/perf/opencl/perf_dxt.cpp.obj
[ 74%] Built target example_tapi_video_acceleration
[ 74%] Building CXX object modules/world/CMakeFiles/opencv_test_core.dir/__/core/test/ocl/test_matrix_operation.cpp.obj
In file included from D:/Dev/MingGW/x86_64-w64-mingw32/include/windows.h:72,
from D:\temp\opencv\sources\opencv\samples\directx\d3d9_interop.cpp:9:
D:\temp\opencv\sources\opencv\samples\directx\winapp.hpp: In member function 'virtual int WinApp::create()':
D:\temp\opencv\sources\opencv\samples\directx\winapp.hpp:53:22: warning: cast to pointer from integer of different size[-Wint-to-pointer-cast]
53 | (LPCTSTR)wc, m_window_name.c_str(),
| ^~~~~~~~~~~
In file included from D:\temp\opencv\sources\opencv\samples\directx\d3d9_interop.cpp:18:
D:\temp\opencv\sources\opencv\samples\directx\d3dsample.hpp: At global scope:
D:\temp\opencv\sources\opencv\samples\directx\d3dsample.hpp:44:17: warning: 'virtual int D3DSample::create()' can be marked override [-Wsuggest-override]
44 | virtual int create() { return WinApp::create(); }
| ^~~~~~
D:\temp\opencv\sources\opencv\samples\directx\d3dsample.hpp:46:17: warning: 'virtual int D3DSample::cleanup()' can be marked override [-Wsuggest-override]
46 | virtual int cleanup()
| ^~~~~~~
D:\temp\opencv\sources\opencv\samples\directx\d3dsample.hpp:53:30: warning: 'virtual LRESULT D3DSample::WndProc(HWND, UINT, WPARAM, LPARAM)' can be marked override [-Wsuggest-override]
53 | virtual LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
| ^~~~~~~
D:\temp\opencv\sources\opencv\samples\directx\d3dsample.hpp:96:17: warning: 'virtual int D3DSample::idle()' can be marked override [-Wsuggest-override]
96 | virtual int idle() { return render(); }
| ^~~~
D:\temp\opencv\sources\opencv\samples\directx\d3d9_interop.cpp:30:9: warning: 'virtual int D3D9WinApp::create()' can bemarked override [-Wsuggest-override]
30 | int create(void)
| ^~~~~~
D:\temp\opencv\sources\opencv\samples\directx\d3d9_interop.cpp:134:9: warning: 'virtual int D3D9WinApp::render()' can be marked override [-Wsuggest-override]
134 | int render()
| ^~~~~~
D:\temp\opencv\sources\opencv\samples\directx\d3d9_interop.cpp:287:9: warning: 'virtual int D3D9WinApp::cleanup()' can be marked override [-Wsuggest-override]
287 | int cleanup(void)
| ^~~~~~~
D:\temp\opencv\sources\opencv\samples\directx\d3d9_interop.cpp: In member function 'virtual int D3D9WinApp::render()':
D:\temp\opencv\sources\opencv\samples\directx\d3d9_interop.cpp:156:20: warning: enumeration value 'MODE_GPU_NV12' not handled in switch [-Wswitch]
156 | switch (mode)
| ^
In file included from D:/Dev/MingGW/x86_64-w64-mingw32/include/windows.h:72,
from D:\temp\opencv\sources\opencv\samples\directx\d3d10_interop.cpp:9:
D:\temp\opencv\sources\opencv\samples\directx\winapp.hpp: In member function 'virtual int WinApp::create()':
D:\temp\opencv\sources\opencv\samples\directx\winapp.hpp:53:22: warning: cast to pointer from integer of different size[-Wint-to-pointer-cast]
53 | (LPCTSTR)wc, m_window_name.c_str(),
| ^~~~~~~~~~~
In file included from D:\temp\opencv\sources\opencv\samples\directx\d3d10_interop.cpp:18:
D:\temp\opencv\sources\opencv\samples\directx\d3dsample.hpp: At global scope:
D:\temp\opencv\sources\opencv\samples\directx\d3dsample.hpp:44:17: warning: 'virtual int D3DSample::create()' can be marked override [-Wsuggest-override]
44 | virtual int create() { return WinApp::create(); }
| ^~~~~~
D:\temp\opencv\sources\opencv\samples\directx\d3dsample.hpp:46:17: warning: 'virtual int D3DSample::cleanup()' can be marked override [-Wsuggest-override]
46 | virtual int cleanup()
| ^~~~~~~
D:\temp\opencv\sources\opencv\samples\directx\d3dsample.hpp:53:30: warning: 'virtual LRESULT D3DSample::WndProc(HWND, UINT, WPARAM, LPARAM)' can be marked override [-Wsuggest-override]
53 | virtual LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
| ^~~~~~~
D:\temp\opencv\sources\opencv\samples\directx\d3dsample.hpp:96:17: warning: 'virtual int D3DSample::idle()' can be marked override [-Wsuggest-override]
96 | virtual int idle() { return render(); }
| ^~~~
D:\temp\opencv\sources\opencv\samples\directx\d3d10_interop.cpp:30:9: warning: 'virtual int D3D10WinApp::create()' can be marked override [-Wsuggest-override]
30 | int create(void)
| ^~~~~~
D:\temp\opencv\sources\opencv\samples\directx\d3d10_interop.cpp:156:9: warning: 'virtual int D3D10WinApp::render()' canbe marked override [-Wsuggest-override]
156 | int render()
| ^~~~~~
D:\temp\opencv\sources\opencv\samples\directx\d3d10_interop.cpp:272:9: warning: 'virtual int D3D10WinApp::cleanup()' can be marked override [-Wsuggest-override]
272 | int cleanup(void)
| ^~~~~~~
D:\temp\opencv\sources\opencv\samples\directx\d3d10_interop.cpp: In member function 'virtual int D3D10WinApp::create()':
D:\temp\opencv\sources\opencv\samples\directx\d3d10_interop.cpp:91:41: warning: missing initializer for member 'D3D10_TEXTURE2D_DESC::Height' [-Wmissing-field-initializers]
91 | D3D10_TEXTURE2D_DESC desc = { 0 };
| ^
D:\temp\opencv\sources\opencv\samples\directx\d3d10_interop.cpp:91:41: warning: missing initializer for member 'D3D10_TEXTURE2D_DESC::MipLevels' [-Wmissing-field-initializers]
D:\temp\opencv\sources\opencv\samples\directx\d3d10_interop.cpp:91:41: warning: missing initializer for member 'D3D10_TEXTURE2D_DESC::ArraySize' [-Wmissing-field-initializers]
D:\temp\opencv\sources\opencv\samples\directx\d3d10_interop.cpp:91:41: warning: missing initializer for member 'D3D10_TEXTURE2D_DESC::Format' [-Wmissing-field-initializers]
D:\temp\opencv\sources\opencv\samples\directx\d3d10_interop.cpp:91:41: warning: missing initializer for member 'D3D10_TEXTURE2D_DESC::SampleDesc' [-Wmissing-field-initializers]
D:\temp\opencv\sources\opencv\samples\directx\d3d10_interop.cpp:91:41: warning: missing initializer for member 'D3D10_TEXTURE2D_DESC::Usage' [-Wmissing-field-initializers]
D:\temp\opencv\sources\opencv\samples\directx\d3d10_interop.cpp:91:41: warning: missing initializer for member 'D3D10_TEXTURE2D_DESC::BindFlags' [-Wmissing-field-initializers]
D:\temp\opencv\sources\opencv\samples\directx\d3d10_interop.cpp:91:41: warning: missing initializer for member 'D3D10_TEXTURE2D_DESC::CPUAccessFlags' [-Wmissing-field-initializers]
D:\temp\opencv\sources\opencv\samples\directx\d3d10_interop.cpp:91:41: warning: missing initializer for member 'D3D10_TEXTURE2D_DESC::MiscFlags' [-Wmissing-field-initializers]
D:\temp\opencv\sources\opencv\samples\directx\d3d10_interop.cpp: In member function 'virtual int D3D10WinApp::render()':
D:\temp\opencv\sources\opencv\samples\directx\d3d10_interop.cpp:178:20: warning: enumeration value 'MODE_GPU_NV12' not handled in switch [-Wswitch]
178 | switch (mode)
| ^
[ 74%] Building CXX object modules/world/CMakeFiles/opencv_test_imgproc.dir/__/imgproc/test/ocl/test_blend.cpp.obj
In file included from D:/Dev/MingGW/x86_64-w64-mingw32/include/windows.h:72,
from D:\temp\opencv\sources\opencv\samples\directx\d3d11_interop.cpp:9:
D:\temp\opencv\sources\opencv\samples\directx\winapp.hpp: In member function 'virtual int WinApp::create()':
D:\temp\opencv\sources\opencv\samples\directx\winapp.hpp:53:22: warning: cast to pointer from integer of different size[-Wint-to-pointer-cast]
53 | (LPCTSTR)wc, m_window_name.c_str(),
| ^~~~~~~~~~~
In file included from D:\temp\opencv\sources\opencv\samples\directx\d3d11_interop.cpp:18:
D:\temp\opencv\sources\opencv\samples\directx\d3dsample.hpp: At global scope:
D:\temp\opencv\sources\opencv\samples\directx\d3dsample.hpp:44:17: warning: 'virtual int D3DSample::create()' can be marked override [-Wsuggest-override]
44 | virtual int create() { return WinApp::create(); }
| ^~~~~~
D:\temp\opencv\sources\opencv\samples\directx\d3dsample.hpp:46:17: warning: 'virtual int D3DSample::cleanup()' can be marked override [-Wsuggest-override]
46 | virtual int cleanup()
| ^~~~~~~
D:\temp\opencv\sources\opencv\samples\directx\d3dsample.hpp:53:30: warning: 'virtual LRESULT D3DSample::WndProc(HWND, UINT, WPARAM, LPARAM)' can be marked override [-Wsuggest-override]
53 | virtual LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
| ^~~~~~~
D:\temp\opencv\sources\opencv\samples\directx\d3dsample.hpp:96:17: warning: 'virtual int D3DSample::idle()' can be marked override [-Wsuggest-override]
96 | virtual int idle() { return render(); }
| ^~~~
D:\temp\opencv\sources\opencv\samples\directx\d3d11_interop.cpp:32:9: warning: 'virtual int D3D11WinApp::create()' can be marked override [-Wsuggest-override]
32 | int create(void)
| ^~~~~~
D:\temp\opencv\sources\opencv\samples\directx\d3d11_interop.cpp:232:9: warning: 'virtual int D3D11WinApp::render()' canbe marked override [-Wsuggest-override]
232 | int render()
| ^~~~~~
D:\temp\opencv\sources\opencv\samples\directx\d3d11_interop.cpp:398:9: warning: 'virtual int D3D11WinApp::cleanup()' can be marked override [-Wsuggest-override]
398 | int cleanup(void)
| ^~~~~~~
In file included from D:/Dev/MingGW/x86_64-w64-mingw32/include/windows.h:72,
from D:\temp\opencv\sources\opencv\samples\directx\d3d9ex_interop.cpp:9:
D:\temp\opencv\sources\opencv\samples\directx\winapp.hpp: In member function 'virtual int WinApp::create()':
D:\temp\opencv\sources\opencv\samples\directx\winapp.hpp:53:22: warning: cast to pointer from integer of different size[-Wint-to-pointer-cast]
53 | (LPCTSTR)wc, m_window_name.c_str(),
| ^~~~~~~~~~~
In file included from D:\temp\opencv\sources\opencv\samples\directx\d3d9ex_interop.cpp:18:
D:\temp\opencv\sources\opencv\samples\directx\d3dsample.hpp: At global scope:
D:\temp\opencv\sources\opencv\samples\directx\d3dsample.hpp:44:17: warning: 'virtual int D3DSample::create()' can be marked override [-Wsuggest-override]
44 | virtual int create() { return WinApp::create(); }
| ^~~~~~
D:\temp\opencv\sources\opencv\samples\directx\d3dsample.hpp:46:17: warning: 'virtual int D3DSample::cleanup()' can be marked override [-Wsuggest-override]
46 | virtual int cleanup()
| ^~~~~~~
D:\temp\opencv\sources\opencv\samples\directx\d3dsample.hpp:53:30: warning: 'virtual LRESULT D3DSample::WndProc(HWND, UINT, WPARAM, LPARAM)' can be marked override [-Wsuggest-override]
53 | virtual LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
| ^~~~~~~
D:\temp\opencv\sources\opencv\samples\directx\d3dsample.hpp:96:17: warning: 'virtual int D3DSample::idle()' can be marked override [-Wsuggest-override]
96 | virtual int idle() { return render(); }
| ^~~~
D:\temp\opencv\sources\opencv\samples\directx\d3d9ex_interop.cpp:30:9: warning: 'virtual int D3D9ExWinApp::create()' can be marked override [-Wsuggest-override]
30 | int create(void)
| ^~~~~~
D:\temp\opencv\sources\opencv\samples\directx\d3d9ex_interop.cpp:134:9: warning: 'virtual int D3D9ExWinApp::render()' can be marked override [-Wsuggest-override]
134 | int render()
| ^~~~~~
D:\temp\opencv\sources\opencv\samples\directx\d3d9ex_interop.cpp:288:9: warning: 'virtual int D3D9ExWinApp::cleanup()' can be marked override [-Wsuggest-override]
288 | int cleanup(void)
| ^~~~~~~
D:\temp\opencv\sources\opencv\samples\directx\d3d9ex_interop.cpp: In member function 'virtual int D3D9ExWinApp::render(':
D:\temp\opencv\sources\opencv\samples\directx\d3d9ex_interop.cpp:156:20: warning: enumeration value 'MODE_GPU_NV12' nothandled in switch [-Wswitch]
156 | switch (mode)
| ^
D:\temp\opencv\sources\opencv\samples\directx\d3d9_interop.cpp:164:43: warning: 'pSurface' may be used uninitialized [-Wmaybe-uninitialized]
164 | r = pSurface->LockRect(&memDesc, &rc, 0);
| ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~
D:\temp\opencv\sources\opencv\samples\directx\d3d9_interop.cpp:145:32: note: 'pSurface' was declared here
145 | LPDIRECT3DSURFACE9 pSurface;
| ^~~~~~~~
D:\temp\opencv\sources\opencv\samples\directx\d3d10_interop.cpp:186:38: warning: 'pSurface' may be used uninitialized [-Wmaybe-uninitialized]
186 | r = pSurface->Map(subResource, D3D10_MAP_WRITE_DISCARD, 0, &mappedTex);
| ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
D:\temp\opencv\sources\opencv\samples\directx\d3d10_interop.cpp:167:30: note: 'pSurface' was declared here
167 | ID3D10Texture2D* pSurface;
| ^~~~~~~~
[ 74%] Linking CXX executable ..\..\bin\example_opengl_opengl.exe
D:\temp\opencv\sources\opencv\samples\directx\d3d9ex_interop.cpp:164:43: warning: 'pSurface' may be used uninitialized -Wmaybe-uninitialized]
164 | r = pSurface->LockRect(&memDesc, &rc, 0);
| ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~
D:\temp\opencv\sources\opencv\samples\directx\d3d9ex_interop.cpp:145:32: note: 'pSurface' was declared here
145 | LPDIRECT3DSURFACE9 pSurface;
| ^~~~~~~~
[ 74%] Linking CXX executable ..\..\bin\example_directx_d3d9_interop.exe
[ 74%] Linking CXX executable ..\..\bin\example_directx_d3d10_interop.exe
[ 74%] Linking CXX executable ..\..\bin\example_directx_d3d9ex_interop.exe
......
[100%] Building CXX object modules/world/CMakeFiles/opencv_test_gapi.dir/__/gapi/test/streaming/gapi_streaming_vpl_data_provider.cpp.obj
[100%] Building CXX object modules/world/CMakeFiles/opencv_test_gapi.dir/__/gapi/test/streaming/gapi_streaming_vpl_device_selector.cpp.obj
[100%] Building CXX object modules/world/CMakeFiles/opencv_test_gapi.dir/__/gapi/test/streaming/gapi_streaming_vpp_preproc_test.cpp.obj
D:\temp\opencv\sources\opencv\modules\gapi\test\streaming\gapi_streaming_vpl_device_selector.cpp:19: warning: ignoring #pragma comment ' [-Wunknown-pragmas]
19 | #pragma comment(lib,"d3d11.lib")
D:\temp\opencv\sources\opencv\modules\gapi\test\streaming\gapi_streaming_vpl_device_selector.cpp:23:9: warning: 'NOMINMAX' redefined
23 | #define NOMINMAX
| ^~~~~~~~
In file included from D:/Dev/MingGW/lib/gcc/x86_64-w64-mingw32/15.2.0/include/c++/x86_64-w64-mingw32/bits/c++config.h:727,
from D:/Dev/MingGW/lib/gcc/x86_64-w64-mingw32/15.2.0/include/c++/cstdint:40,
from D:/temp/opencv/sources/opencv/modules/gapi/test/test_precomp.hpp:13,
from D:\temp\opencv\sources\opencv\modules\gapi\test\streaming\gapi_streaming_vpl_device_selector.cpp::
D:/Dev/MingGW/lib/gcc/x86_64-w64-mingw32/15.2.0/include/c++/x86_64-w64-mingw32/bits/os_defines.h:45:9: note: this is the location of the previous definition
45 | #define NOMINMAX 1
| ^~~~~~~~
[100%] Building CXX object modules/world/CMakeFiles/opencv_test_gapi.dir/__/gapi/test/test_main.cpp.obj
[100%] Building CXX object modules/world/CMakeFiles/opencv_test_gapi.dir/__/gapi/test/util/any_tests.cpp.obj
[100%] Building CXX object modules/world/CMakeFiles/opencv_test_gapi.dir/__/gapi/test/util/optional_tests.cpp.obj
......
[100%] Built target opencv_test_core
[100%] Linking CXX executable ..\..\bin\opencv_test_gapi.exe
[100%] Built target opencv_test_gapi
D:\temp\opencv\build> -
编译完毕后使用
mingw32-make install
获得编译好的文件。输出如下:D:\temp\opencv\build>mingw32-make install
[ 0%] Built target opencv_dnn_plugins
[ 0%] Built target opencv_highgui_plugins
[ 1%] Built target jpeg12-static
......
[100%] Built target example_directx_d3d9_interop
[100%] Built target example_directx_d3d9ex_interop
[100%] Built target example_opengl_opengl
Install the project...
-- Install configuration: "Release"
-- Installing: D:/temp/opencv/build/install/etc/licenses/dlpack-LICENSE
-- Installing: D:/temp/opencv/build/install/etc/licenses/flatbuffers-LICENSE.txt
......
-- Installing: D:/temp/opencv/build/install/x64/mingw/samples/directx/example_directx_d3d9_interop.exe
-- Installing: D:/temp/opencv/build/install/x64/mingw/samples/directx/example_directx_d3d9ex_interop.exe
-- Installing: D:/temp/opencv/build/install/x64/mingw/samples/opengl/example_opengl_opengl.exe
D:\temp\opencv\build>
现在你应该就能在编译输出文件夹中的
install
文件夹内找到编译好的dll等文件了。(我的是D:\temp\opencv\build\install
)