Code::Blocks16.01配置MinGW64及opencv4.1.1

之前写过一篇博客【Code::Blocks16.01配置opencv3.1.0】,里面提供下载的Code::Blocks自带的MinGW和OpenCV3.1.0都是32位的。虽然也能用,但是最近某些原因可能得用到64位的MinGW,然后我更改了MinGW之后发现原来在Code::Blocks中配置的OpenCV没法用了,所以只好再重新配置一个64位的。

0 准备工作

资源下载:

  • Code::Blocks 16.01,下载地址,提取密码:rctc,这个压缩包里面包含了Code::Blocks+MinGW32+opencv3.1.0_32,但只需要里面的Code::Blocks就可以。
  • MinGW64下载,下载地址,这里我下载的是x86_64-posix-seh。(原因嘛,就是我开始下的x86_64-win32-seh,配置好之后跑一份代码出现线程报错,参考这篇)
    Code::Blocks16.01配置MinGW64及opencv4.1.1_第1张图片
  • OpenCV下载,既然是在Code::Blocks下用MinGW使用OpenCV,自然是需要使用MinGW编译的OpenCV,可以选择自己用Cmake和MinGW去编译OpenCV源码,参考这篇博文。但是,我就不,因为这篇博文的作者提供了各个他/她编译好的版本,下载地址,感谢大佬。这里我直接下载的OpenCV4.1.1
    Code::Blocks16.01配置MinGW64及opencv4.1.1_第2张图片

1 环境变量配置

这里我把MinGW和opencv都放在了Code::Blocks路径下,这个随意
Code::Blocks16.01配置MinGW64及opencv4.1.1_第3张图片

1.1 MinGW的环境变量

添加如下路径到环境变量中,YOUR_MING64_PATH替换为相应的路径:

YOUR_MINGW64_PATH\MinGW64\bin

1.2 OpenCV的环境变量

添加如下路径到环境变量中:

YOUR_OPENCV_PATH\opencv411_x64\x64
YOUR_OPENCV_PATH\opencv411_x64\x64\mingw\bin

2 Code::Blocks的配置

2.1 编译器的配置

下载的Code::Blocks自带32位的MinGW,需要将其配置为我们下载的64位MinGW,打开"Setting->Compiler Seetings->Toolchain executables",如图进行相应修改,注意替换自己的路径。
Code::Blocks16.01配置MinGW64及opencv4.1.1_第4张图片

2.2 OpenCV的配置

这个和【Code::Blocks16.01配置opencv3.1.0】基本一致,就是把一些库给加进来。

  1. Search Directories -> Complier,添加如下路径
    Code::Blocks16.01配置MinGW64及opencv4.1.1_第5张图片

  2. Search Directories -> Linker,添加如下路径Code::Blocks16.01配置MinGW64及opencv4.1.1_第6张图片

  3. Linker settings,将2中添加路径下的静态库文件都添加进来
    Code::Blocks16.01配置MinGW64及opencv4.1.1_第7张图片
    Code::Blocks16.01配置MinGW64及opencv4.1.1_第8张图片

3 测试

在Code::Blocks中新建一个控制台程序
Code::Blocks16.01配置MinGW64及opencv4.1.1_第9张图片
修改main.cpp

#include 
#include 
#include 
#include 
#include 

using namespace std;
using namespace cv;

int main()
{
     
    cout << "Hello world!" << endl;
    Mat img = imread("小盒子.jpg");
    imshow("test", img);
    cvtColor(img, img, CV_RGB2GRAY);
    imshow("gray", img);
    waitKey(0);
    return 0;
}

运行结果:
Code::Blocks16.01配置MinGW64及opencv4.1.1_第10张图片

你可能感兴趣的:(opencv,环境配置,codeblocks,CodeBlocks,MinGW,OpenCV)