下载好opencv4.3.0的源码之后,先不要急着编译,需要对源码进行修改:
需要修改的地址为:
文件存放位置\opencv\sources\photo\test\test_hdr.cpp
加入包含文件:
#include<ctime>
#include<cstdlib>
然后在cmake-gui将source code 选择到source文件夹,build binaries自行创建然后选择。选好之后点击configure,使用如下选项:
然后next,编译器选择自己的编译器,c的编译器选用gcc.exe c++的选择g++.exe,fortran不用管,如下图:
配置完成之后点finish,cmake就开始工作了。之后会出现很多颜色加深的选项,如果有qt的需求,就把下面的WITH_QT 和WITH_OPENGL打上勾再点2次configure,就会发现颜色加深的选项消失了。此时点击generate,就完成了cmake上的步骤(暂时不要关)。
再走到如下文件夹:
你的build位置\opencv_build\modules\core\CMakeFiles
会有如下文件夹:
如果没有再回到cmake,再点击configure。之后就会出现这些文件,再进入如下文件,修改其一行代码:
H:\opencv\opencv\opencv_\modules\core\CMakeFiles\opencv_core.dir\flags.make
把
RC_DEFINES = -DCVAPI_EXPORTS -DOPENCV_ALLOCATOR_STATS_COUNTER_TYPE="long long" -D_USE_MATH_DEFINES -D_WIN32_WINNT=0x0601 -D__OPENCV_BUILD=1 -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS
改为:
RC_DEFINES = -DCVAPI_EXPORTS -D_USE_MATH_DEFINES -D_WIN32_WINNT=0x0601 -D__OPENCV_BUILD=1 -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS
之后就可以顺利进行编译了。附上编译成功图: