如何在Code::Blocks中使用OpenCV 2.4.3编译程序?

9
我已经安装了Code::Blocks with MinGW和OpenCV 2.4.3。我想编译这个简单的程序:
#include <opencv2/highgui/highgui.hpp>
#include <iostream>

using namespace cv;
using namespace std;

int main()
{
  Mat im = imread("c:/path/to/lena.jpg");
  if (im.empty()) {
    cout << "Cannot open image!" << endl;
    return 1;
  }
  imshow("Image", im);
  waitKey(0);
}

如何正确设置CodeBlocks以编译上述代码?
我已在c:\ opencv中安装了OpenCV。

对于x64是一样的吗?我遇到了错误。 http://stackoverflow.com/questions/11107022/installing-opencv2-4-1-on-windows-7-x64-mingw-codeblocks - rgap
2个回答

15
为了在 CodeBlocks 中使用 OpenCV,需要告诉 CodeBlocks:
  1. 包含 OpenCV 头文件的目录 → c:\opencv\build\include
  2. 用于链接的 OpenCV 库列表 → c:\opencv\build\x86\mingw\libs\libopencv_*.dll.a

1. 添加 OpenCV 头文件目录

打开设置编译器和调试器...搜索目录 选项卡 → 编译器选项卡

CodeBlock settings: search directory

点击添加按钮以添加新条目。在弹出对话框中,输入 c:\opencv\build\include,

Add OpenCV include directory to CodeBlocks

然后点击确定


2. 添加用于链接的 OpenCV 库

打开设置编译器和调试器... → 链接器设置选项卡。

CodeBlocks linker settings

点击添加以添加新条目并打开一个弹出对话框。

CodeBlock settings: Add libraries to link

点击 "..." 按钮以打开文件打开对话框。进入 c:\opencv\build\x86\mingw\lib 目录并通过按下 Ctrl-A 选择所有文件。

输入图像描述

点击打开以添加文件。

输入图像描述

点击确定以保存所有设置。


现在,您已经设置了包含目录和链接库,可以按下 F9 键编译和运行您的项目。


显示计算机缺少libopencv_core240.dll文件。该怎么办? - Abid Rahman K
2
@AbidRahmanK 你安装了OpenCV并将c:\opencv\build\x86\mingw\bin添加到系统PATH中吗?请参考https://dev59.com/lWgv5IYBdhLWcg3wFs2l - flowfree
1
我尝试了使用CodeBlocks和VC++,但是都出现了相同的错误。我按照你写的方式进行了尝试。 - Abid Rahman K
@udit043: 当时我在Windows上设置OpenCV有些困难。在Linux上,开始使用要容易得多。 - Abid Rahman K
@AbidRahmanK 一年前,我成功在Windows 7上安装了OpenCV并且完成了一些项目(https://youtu.be/i4HqZAH_TZU),但是现在在Windows 10上安装时遇到了困难,所以决定使用VMware安装Ubuntu :) - udit043
显示剩余3条评论

0

我曾经遇到过同样的问题,最终我不得不卸载带有MINGW的CODEBLOCKS,然后安装仅MINGW(使用mingw-get从这里http://sourceforge.net/projects/mingw/files/Installer/),之后再安装没有MINGW的code blocks(看起来与codeblocks捆绑的mingw版本可能与opencv的预编译文件存在一些兼容性问题)。

如果在此之后检查了路径和codeblocks编译器和链接器配置,并且您的程序可以编译但是崩溃并显示000005错误,则意味着您的预编译opencv文件存在某些未知问题(因为一些小精灵搞乱了它们),因此如果您遇到此错误,则需要使用NENAD BULATOVIC对此问题的回答Getting started with OpenCV 2.4 and MinGW on Windows 7进行自己的opencv编译。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接