如何构建简单的 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 cuda 库来运行一个简单的 opencv cuda 程序?