2012-07-12 100 views
0

我有一台戴尔XPS M1530运行Windows 7。我安装了虚拟盒并创建了一个Ubuntu 12.04安装。然后我按照here的描述安装openCV。这似乎非常相似的方向here,但是当我尝试在第二个链接描述对测试程序图像conversion.c运行G ++,我得到下面的输出:openCV安装/库问题

[email protected]:~/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 

然而,当我使用第一个链接提供的测试程序,一切正常。所以我的问题是,我不了解安装过程,或者编译过程中让示例在第二个链接中不起作用。

回答

1

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