Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/opencv/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
OpenCv链接问题_Opencv_Linker - Fatal编程技术网

OpenCv链接问题

OpenCv链接问题,opencv,linker,Opencv,Linker,我正在使用Kubuntu,在链接OpenCv(2.4.6.1)库时遇到了一些问题(我猜) 因此,我一直在使用本教程,并对安装进行了测试(部分:./opencv\u test\u core)。然后我下载了下面的测试文件,但可以让它工作。尝试了其他代码,但始终出现相同错误: g++ -L/usr/local/lib -lcv -lcxcore -lcvaux -lhighui -lm hello.cpp /usr/bin/ld: cannot find -lcv /usr/bin/ld: canno

我正在使用Kubuntu,在链接OpenCv(2.4.6.1)库时遇到了一些问题(我猜)

因此,我一直在使用本教程,并对安装进行了测试(部分:./opencv\u test\u core)。然后我下载了下面的测试文件,但可以让它工作。尝试了其他代码,但始终出现相同错误:

g++ -L/usr/local/lib -lcv -lcxcore -lcvaux -lhighui -lm hello.cpp
/usr/bin/ld: cannot find -lcv
/usr/bin/ld: cannot find -lcxcore
/usr/bin/ld: cannot find -lcvaux
/usr/bin/ld: cannot find -lhighui
collect2: Fehler: ld gab 1 als Ende-Status zurück ( ld exit status is 1 )
(至于教程中奇怪的库名,我也尝试过-lopencv_calib3d…)

然后在code::blocks中尝试,得到以下结果:

main.c对cvGetRows的未定义引用

标题位于/usr/local/include/opencv中 /usr/local/include/opencv2 图书馆位于usr/local/lib中

(如果有帮助的话):


要链接到
OpenCV
,您必须通过
g++
(将在内部运行
ld
)库所在的位置(如果它们不是标准库)。如果只想链接其中的一部分,可以手动执行。 但最快的方法是依赖于
pkg配置

g++ faceDetect.cpp $(pkg-config --libs opencv --cflags)

然而,在软件包中有一个
Makefile
,只是
cd
您提取了该归档文件的目录,然后运行
make

,老实说,这一切看起来都非常过时-lcv-lcxcore-lcvaux-lhighui是opencv1.0库。那是6年多以前的事了,opencv自5年前就有了自己的python包装器(cv2)。你根本不需要python opencv,最好避免使用它。是的,最恰当的是,我还想知道奇怪的名称,如果你解决了你的问题,请。至于faceDetect,我可以编译它,但遇到了另一个问题,当我只编译一个带有cvWaitKey(0)的main时,我现在得到这个:opencv错误:未指定的错误(该函数未实现。请使用Windows、GTK+2.x或Carbon支持重建库。如果您使用的是Ubuntu或Debian,请安装libgtk2.0-dev和pkg-config,然后重新运行cmake或配置脚本)在cvWaitKey文件/home/daniel/Downloads/opencv-2.4.7/modules/highgui/src/window.cpp中,在抛出“cv::Exception”what():/home/daniel/Downloads/opencv-2.4.7/modules/highgui/src/window.cpp的实例后调用了第562行terminate:error:(-2)函数未实现。请使用Windows、GTK+…@user3340703重建库,这很遗憾,但却是真的。这意味着,您的highgui模块是在没有任何gui的情况下编译的。您需要获取qt或gtk2并重新编译opencv库(cmake)我不是Ubuntu机器,但是apt get install libopencv dev应该安装一个预编译版本,包含所需的所有依赖项。除非你明确需要/想要自己编译的版本。好吧,我在cmake中添加了:-D和_QT=ON,还有什么我应该做的吗?
g++ faceDetect.cpp $(pkg-config --libs opencv --cflags)