一、参考:
(1)https://www.cnblogs.com/jerrybaby/p/6264984.html
(2)
https://segmentfault.com/a/1190000014284086
(3)https://blog.csdn.net/wx7788250/article/details/54970903
二、操作cmake:
MinGW编译openCV出错修复,参考(2)。
这里增加一个我遇到的bug: error: '::hypot' has not been declared using ::hypot;
解决办法:找到对应的opencv的source文件“C:\opencv-3.4.1\modules\python\src2\cv2.cpp”,
在第7行#include <Python.h>
之前添加#include <math.h>,OK了。
三、在CodeBlocks配置OpenCV:
首先,打开CodeBlocks配置64位的编译器。打开Settings-Compiler-Copy,给新配置起个别名,例如GNU GCC Compiler(x64),Set as default。 然后,在编译器设置里指定你MinGW64的位置,并做如下设置:
到这里,CodeBlocks的编译环境配置好了。接下来配置OpenCV
这里用到的是mingw32-make install命令生成的install文件下面的include和x64这两个里面的文件。
1) Linkersettings->Link libraries: 选mingw32-make install命令生成的install\x64\mingw\lib中的所有文件。
2) Search directors->Compile:选mingw32-make install命令生成的install\include以及里面的opencv、opencv2。
3)Search directors->Linker:选mingw32-make install命令生成的install\x64\mingw\bin。
四、不用IDE编译.
#include <opencv2/core/core.hpp>
#include <opencv2/imgproc/imgproc.hpp>
#include <opencv2/highgui/highgui.hpp>
using namespace cv;
int main(int argc, char *argv[])
{
Mat img = imread("C:\\Pictures\\pijiu.jpg", CV_LOAD_IMAGE_COLOR);
if(img.empty())
return -1;
namedWindow( "lena", CV_WINDOW_AUTOSIZE );
imshow("lena", img);
waitKey(0);
return 0;
}
CMakeLists.txt
cmake_minimum_required(VERSION 3.0)
project(detect)
set(CMAKE_CXX_STANDARD 11)
add_executable(detect cv.cpp)
set(OpenCV_DIR C:\\opencv-3.4.1\\cmake_build)#指定opencv build目录
FIND_PACKAGE(OpenCV REQUIRED)
IF (OpenCV_FOUND)
INCLUDE_DIRECTORIES(${OpenCV_INCLUDE_DIRS})
TARGET_LINK_LIBRARIES(detect ${OpenCV_LIBS})
ELSE (OpenCV_FOUND)
MESSAGE(FATAL_ERROR "OpenCV library not found")
ENDIF (OpenCV_FOUND)
cmake-gui指定cpp目录、cpp的build目录,configure,generate, ./build目录/执行命令mingw32-make。
运行生成的可执行文件检查.cpp执行效果。
至此,全部的开发环境配置完成了。