如何构建简单的 OpenCV 程序

Posted

技术标签:

【中文标题】如何构建简单的 OpenCV 程序【英文标题】:How to build simple OpenCV program 【发布时间】:2013-07-23 19:46:53 【问题描述】:

在我的机器上安装 OpenCV 后,我正在尝试在 http://docs.opencv.org/doc/tutorials/introduction/display_image/display_image.html 构建程序。我尝试使用g++ display_image.cpp -o DisplayImage 编译它,但出现以下错误:

display_image.cpp:(.text+0x9d): undefined reference to `cv::imread(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, int)'

我认为这与我如何编译程序有关(对 opencv2 的一些未解决的引用),但我不知道如何解决它。我正在使用 Ubuntu 13.04。谢谢!

编辑:我意识到这类似于OpenCV 2.3 Compiling Issue - Undefined Refence - Ubuntu 11.10,但我不太了解pkg-config opencv --cflags --libs 的使用以及如何避免它

【问题讨论】:

看起来您忘记使用 -l 或 -L 链接 OpenCV 库...... OpenCV 2.3 Compiling Issue - Undefined Refence - Ubuntu 11.10的可能重复 你无法避免使用 pkg-config... pkg-config [package] --cflags --libs 返回您需要添加到 gcc 命令的编译器标志和库,以便在您的计算机中使用 [package]。如果您已经知道该命令的输出并直接使用它,则可以避免使用 【参考方案1】:

由于您没有在 GCC 命令行上指定 OpenCV,因此出现链接器错误

按照该教程 (http://opencv.willowgarage.com/wiki/CompileOpenCVUsingLinux) 将您的示例与 OpenCV 链接

【讨论】:

以上是关于如何构建简单的 OpenCV 程序的主要内容,如果未能解决你的问题,请参考以下文章

OpenCV.js,使用ORB和features2d构建

我需要哪个 opencv cuda 库来运行一个简单的 opencv cuda 程序?

OpenCV用像素指针构建图像

我如何在一台 Linux PC 中使用 Opencv 构建到另一台?

OpenCV,从相机捕获并保存到文件

使用 Visual Studio 2008 构建 OpenCV 应用程序并从另一台计算机运行它