0

我有一台运行 Windows 7 的戴尔 XPS M1530。我安装了虚拟机并创建了 ubuntu 12.04 安装。然后我按照这里的描述安装了 openCV 。这似乎与此处的说明非常相似,但是当我尝试在第二个链接中描述的测试程序 image-conversion.c 上运行 g++ 时,我得到以下输出:

jonathan@jonathan-VirtualBox:~/test$ g++ `pkg-config opencv --cflags --libs` image-conversion.c -o image-conversion
/tmp/ccoPBxUv.o: In function `main':
image-conversion.c:(.text+0x1d): undefined reference to `cvLoadImage'
image-conversion.c:(.text+0x41): undefined reference to `cvSaveImage'
image-conversion.c:(.text+0x4d): undefined reference to `cvReleaseImage'
collect2: ld returned 1 exit status

但是,当我使用第一个链接提供的测试程序时,一切正常。所以我的问题是,我对安装过程或编译过程有什么不了解,这使得示例在第二个链接中不起作用。

4

1 回答 1

1

这些错误似乎是链接错误,我的猜测是 g++ 没有找到该库。您可以尝试将 libopencv.so 的路径添加到 LD_LIBRARY_PATH。还要确保 opencv 的版本与示例匹配。这三个函数是较旧的 c 样式接口。您也可以在命令行中运行“pkg-config opencv --cflags --libs”。这将扩展它并告诉你它在哪里寻找这些东西,然后你可以四处寻找,看看是否匹配。有时你需要#include opencv2/highgui.hpp 或类似的东西。“g++ -v”有时也有帮助。对不起,我不能给你一个直接的答案,祝你好运。

于 2012-07-12T23:10:56.647 回答