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

Kai*_*igi 15 c++ opencv compilation

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

g++ hello-world.cpp -o hello-world -I /usr/local/include/opencv -L /usr/local/lib -lm -lcv -lhighgui -lcvaux
Run Code Online (Sandbox Code Playgroud)

但是,我收到的错误是:

/usr/bin/ld: cannot find -lcv  
/usr/bin/ld: cannot find -lhighgui  
/uer/bin/ld: cannot find -lcvaux
collect2: ld returned 1 exit status
Run Code Online (Sandbox Code Playgroud)

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

有什么我可能错过的吗?

ana*_*y99 34

更新(对不起我在命令行中的错误)

更好地使用此命令:

g++ opencv.cpp -o opencv -L `pkg-config --cflags --libs opencv`
Run Code Online (Sandbox Code Playgroud)

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

也许本教程将帮助您进行OpenCV编程code::block:
如何在Linux和Windows中为code :: block设置OpenCV?


小智 20

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

-lopencv_core -lopencv_imgproc -lopencv_highgui -lopencv_objdetect
Run Code Online (Sandbox Code Playgroud)

希望它能解决你的问题.


Ign*_*ams 9

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

  • 然后你的`-l`参数是错误的.试试`-lopencv_highgui`等. (3认同)