使用OpenCV库编译代码时链接错误

时间:2010-12-30 04:14:56

标签: c++ opencv compilation

我正在尝试使用以下命令安装Opencv后编译示例程序:

g++ hello-world.cpp -o hello-world -I /usr/local/include/opencv -L /usr/local/lib -lm -lcv -lhighgui -lcvaux

然而,我收到的错误是:

/usr/bin/ld: cannot find -lcv  
/usr/bin/ld: cannot find -lhighgui  
/uer/bin/ld: cannot find -lcvaux
collect2: ld returned 1 exit status

我需要做些什么才能纠正这个问题?我通过下载最新的稳定版本并使用cmake创建构建文件来安装opencv,然后从命令行运行make install。

有什么我可能错过的吗?

3 个答案:

答案 0 :(得分:33)

更新 -

更好地使用此命令:

g++ opencv.cpp -o opencv -L `pkg-config --cflags --libs opencv`

pkg-config命令将为您的源代码找到正确的包含和库 为了更好地使用OpenCV编程,请使用像code::block这样的IDE。

也许本教程将使用code::block帮助您进行OpenCV编程:
How to Setup OpenCV for code :: block in Linux and Windows?

答案 1 :(得分:20)

最近我开始使用OpenCV,我遇到了类似的问题,对我来说这很有效:

-lopencv_core -lopencv_imgproc -lopencv_highgui -lopencv_objdetect

希望它能解决你的问题。

答案 2 :(得分:9)

您需要添加另一个-L参数,指定OpenCV库的实际位置。