2022年12月23日
Windows Qt Opencv ffmpeg的适配
-
问题描述:使用cmake-gui配置opencv库时会遇到ffmpeg无法被正常下载的现象
-
问题分析:raw.git*在部分地区无法ping通
-
解决办法:编辑
${opencv}/sources/3rdparty/ffmpeg/ffmpeg.cmake,在原下载地址前增加https://ghproxy.com/,修改具体如下
"https://ghproxy.com/https://raw.githubusercontent.com/opencv/opencv_3rdparty/${FFMPEG_BINARIES_COMMIT}/ffmpeg/"而后就可以正常在cmake-gui中执行configure和Generate,具体log如下:
===OpenCV Python: during development append to PYTHONPATH: W:/packages/opencv/ming_build/python_loaderFFMPEG: Download: opencv_videoio_ffmpeg.dllFFMPEG: Download: opencv_videoio_ffmpeg_64.dllFFMPEG: Download: ffmpeg_version.cmakeConsider adding OPENCV_ALLOCATOR_STATS_COUNTER_TYPE=int/int64_t according to your build configuration=== Video I/O: DC1394: NO FFMPEG: YES (prebuilt binaries) avcodec: YES (58.91.100) avformat: YES (58.45.100) avutil: YES (56.51.100) swscale: YES (5.7.100) avresample: YES (4.0.0) GStreamer: NO DirectShow: YES
Parallel framework: none
Trace: YES (built-in)
Other third-party libraries: Lapack: NO Eigen: NO Custom HAL: NO Protobuf: build (3.5.1)
OpenCL: YES (no extra features) Include path: W:/packages/opencv/sources/3rdparty/include/opencl/1.2 Link libraries: Dynamic load
Python (for build): NO
Java: ant: NO JNI: NO Java wrappers: NO Java tests: NO
Install to: W:/packages/opencv/ming_build/install-----------------------------------------------------------------
Configuring doneGenerating done而后在cmd中${target}目录下执行mingw32-make -j 32即可启动编译(我用的是mingw,其他编译器使用对应的命令),执行成功log如下:
W:/packages/opencv/sources/modules/gapi/include/opencv2/gapi/own/saturate.hpp:75:0: ignoring #pragma warning [ ignoring #pragma warning [] #pragma warning(disable: 4244)
ignoring #pragma warning [ #pragma warning(default: 4244)
W:/packages/opencv/sources/modules/gapi/include/opencv2/gapi/own/saturate.hpp:75:0:-Wunknown-pragmas] #pragma warning(default: 4244)
] #pragma warning(default: 4244)
warning: ignoring #pragma warning [-Wunknown-pragmas] #pragma warning(default: 4244)
[100%] Linking CXX executable ..\..\bin\opencv_test_gapi.exe[100%] Built target opencv_test_gapi再执行mingw32-make install即可安装到build文件夹下供QT使用