Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/124.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
Linux C++中的OpenCV连接器 我试图链接一个简单的应用程序,用C++编写,我用OpenCV库,在这个应用中我使用的是IP摄像机。_C++_Linux_Opencv - Fatal编程技术网

Linux C++中的OpenCV连接器 我试图链接一个简单的应用程序,用C++编写,我用OpenCV库,在这个应用中我使用的是IP摄像机。

Linux C++中的OpenCV连接器 我试图链接一个简单的应用程序,用C++编写,我用OpenCV库,在这个应用中我使用的是IP摄像机。,c++,linux,opencv,C++,Linux,Opencv,我正在尝试使用以下命令为此应用程序生成可执行文件: g++ IPCamera.cpp -o camera -L/usr/include/opencv2 -lopencv_core -pthread -lopencv_imgproc -lopencv_highgui -lopencv_ml 输出就像无法识别库一样,这是输出: IPCamera.cpp:12:30: error: opencv2/opencv.hpp: No such file or directory IPCamera.cpp:

我正在尝试使用以下命令为此应用程序生成可执行文件:

g++ IPCamera.cpp -o camera -L/usr/include/opencv2 -lopencv_core -pthread -lopencv_imgproc -lopencv_highgui -lopencv_ml
输出就像无法识别库一样,这是输出:

IPCamera.cpp:12:30: error: opencv2/opencv.hpp: No such file or directory
IPCamera.cpp:13:39: error: opencv2/highgui/highgui.hpp: No such file or directory
IPCamera.cpp:14:39: error: opencv2/imgproc/imgproc.hpp: No such file or directory
IPCamera.cpp:18:22: error: X11/Xlib.h: No such file or directory
IPCamera.cpp:23: error: 'cv' is not a namespace-name
IPCamera.cpp:23: error: expected namespace-name before ';' token
IPCamera.cpp: In function 'int main(int, char**)':
IPCamera.cpp:53: error: 'cv' has not been declared
IPCamera.cpp:53: error: expected ';' before 'cap'
IPCamera.cpp:59: error: 'Display' was not declared in this scope
IPCamera.cpp:59: error: 'disp' was not declared in this scope
IPCamera.cpp:59: error: 'XOpenDisplay' was not declared in this scope
IPCamera.cpp:60: error: 'Screen' was not declared in this scope
IPCamera.cpp:60: error: 'scrn' was not declared in this scope
IPCamera.cpp:60: error: 'DefaultScreenOfDisplay' was not declared in this scope
IPCamera.cpp:70: error: 'cv' has not been declared
IPCamera.cpp:70: error: expected ';' before 'frame'
IPCamera.cpp:73: error: 'cv' has not been declared
IPCamera.cpp:73: error: 'CV_WINDOW_NORMAL' was not declared in this scope
IPCamera.cpp:75: error: 'cvMoveWindow' was not declared in this scope
IPCamera.cpp:80: error: 'CV_WND_PROP_FULLSCREEN' was not declared in this scope
IPCamera.cpp:80: error: 'CV_WINDOW_FULLSCREEN' was not declared in this scope
IPCamera.cpp:80: error: 'cvSetWindowProperty' was not declared in this scope
IPCamera.cpp:96: error: 'cap' was not declared in this scope
IPCamera.cpp:99: error: 'frame' was not declared in this scope
IPCamera.cpp:106: error: 'cv' has not been declared
IPCamera.cpp:109: error: 'cv' has not been declared   
所以我觉得我不太喜欢图书馆,有人能帮我吗

非常感谢

我用这个

g++ main.cpp -o a.out `pkg-config opencv --libs --cflags`
所以对你来说应该是:

g++ IPCamera.cpp -o camera `pkg-config opencv --libs --cflags`
命令pkg config opencv-libs-cflags将返回程序运行所需的所有标志

请注意,OpenCV已在pkg config中注册。
如果您从Ubuntu存储库安装了OpenCV,那么它应该可以正常工作

如果您运行“make install”,那么可能是:

-I/usr/local/include
-L/usr/local/lib

/usr/local是默认的安装路径

您好,谢谢您的回答,但我在usr/local/libHi JMB中没有任何内容我尝试了您的建议,它工作正常,我的问题是,我想在ARM中运行我的应用程序,所以我需要让croos编译,所以我尝试这样做:ARM-linux-g++IPCamera.cpp-o camera-pkg-config opencv-libs-cflags,但它确实可以工作,就像开始一样,我应该如何使用croos编译?另一件事是,当我以你的方式编译时,我会得到一个可执行文件,如果我尝试执行它,我会得到一个类似“预期的结束线预期”的错误,但在eclipse中什么都没有。我希望你能帮我谢谢you@user3536692你是自己编译OpenCV还是刚下载的?如果要将OpenCV用于ARM,则必须在ARM中编译可执行文件和OpenCV库。您可以从计算机上编译OpenCV arm。这里有一个教程:实际上我不确定,因为环境是由其他人配置的,我怎么知道呢?我要看你的教程。感谢您,againI已经用如下二进制文件编译了ARM的其他应用程序:ARM-linux-g++Prototipo.o RecvRawEth.o-o execute2-pthread。它工作得很完美,但我知道为什么它不能与opencv一起工作