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

问题描述 投票:14回答:3

我正在尝试使用以下命令安装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。

有什么我可能错过的吗?

c++ opencv compilation
3个回答
9
投票

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


33
投票

更新-

更好地使用此命令:

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

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

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


20
投票

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

-lopencv_core -lopencv_imgproc -lopencv_highgui -lopencv_objdetect

希望它能解决你的问题。

© www.soinside.com 2019 - 2024. All rights reserved.