我有一个运行Windows 7的Dell XPS M1530。我安装了虚拟盒并创建了ubuntu 12.04安装。然后,按照here的说明安装openCV。这似乎与here的指示非常相似,但是当我尝试按第二个链接中所述在测试程序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
但是,当我使用第一个链接提供的测试程序时,一切正常。所以我的问题是,我对安装过程或者也许在编译过程中不了解的那些东西使示例在第二个链接中不起作用。
最佳答案
错误似乎是链接错误,我猜是g++找不到库。您可以尝试将libopencv.so的路径添加到LD_LIBRARY_PATH。还要确保opencv的版本与示例匹配。这三个函数是较旧的c风格的界面。您也可以在命令行中运行“pkg-config opencv --cflags --libs”。这将展开它,并告诉您它在哪里寻找这些东西,然后您可以四处查看并查看是否匹配。有时您需要#include opencv2 / highgui.hpp或类似的东西。另外,“g++ -v”有时会有所帮助。抱歉,我不能直接给你一个答案,祝你好运。
关于opencv - openCV安装/库问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11461834/