我是编程新手,想要使用opencv2。我有一个代码包,想要运行它。它是用C ++编写的,我想在opencv2中包含几个文件,代码是:
#include "opencv2/core/core.hpp"
#include "opencv2/highgui/highgui.hpp"
我的问题是为什么#include
没有给出像/usr/local/include/opencv2/...
这样的整个目录?
此代码无法在我的计算机上运行,因为我没有将opencv2添加到我的包含路径中。
我该怎么办?
答案 0 :(得分:2)
如果您的编译器没有自动查找/usr/local/include
下的标题,那么您需要告诉它这样做:
g++ … -I/usr/local/include … source.cpp
您没有将完整路径名放入源中的原因是它使其无法移植。您已在/usr/local
中安装了OpenCV2,我在/opt/OpenCV2
中安装了它。如果代码说:
#include "/usr/local/include/opencv2/core/core.hpp"
就这样,人们可以在任何位置找到OpenCV2库和支持头文件,只需在命令行上(或在makefile中指定该位置,或者让自动配置工具为您完成工作)
答案 1 :(得分:0)
将OpenCV2添加到包含路径中。
如果你愿意,你可以在你的#include
指令中写一个绝对路径,但它会让你的代码完全不可移植,因为它非常不受欢迎。