1

我首先将 highgui.hpp 文件包含为

#include "opencv2/highgui/highgui.hpp"

这给出了错误“没有这样的文件或目录”。

当我将其替换为

#include "/host/opencv/build/include/opencv2/highgui/highgui.hpp"

此错误已解决。但我又遇到了一个错误,

在 opencvtest.cpp:1:0 包含的文件中:/host/opencv/build/include/opencv2/highgui/highgui.hpp:46:33:致命错误:opencv2/core/core.hpp:没有这样的文件或目录

这意味着现在无法定位到 highgui.hpp 中包含的 core.hpp 文件。

我需要一种方法,以便它可以自动在“包含”文件夹中查找包含的文件。如何在ubuntu中做到这一点?我以前使用过 Microsoft Visual Studio,该文件夹被添加到项目属性中,在其他库中。

4

3 回答 3

2

您需要将以下标志添加到编译器命令:

-I<here_path_to_opencv_headers_root>
于 2013-10-16T07:53:56.830 回答
1

你完成 OpenCV 的安装了吗?通常,如果传递了命令“sudo make install”,则标头位于包含路径中。如果您未在系统上安装 OpenCV,则在 make 的命令行中添加 -Ihost/opencv/build/include/。但是当你设置了包含时,lib 也会出现同样的问题。最好的解决方案是遵循http://docs.opencv.org/trunk/doc/tutorials/introduction/linux_install/linux_install.htmlhttps://help.ubuntu.com/community/OpenCV的指示

于 2013-10-16T10:20:56.037 回答
0

你也可以使用一个叫做 pkg-config 的工具来找到你需要的头文件和库的位置,像这样

 pkg-config --libs --cflags opencv

您可以将这些包含在编译器标志中或使用构建脚本

 clang++  $(pkg-config --libs --cflags opencv)  -o main.cpp binary.app
于 2019-02-11T08:54:37.963 回答