使用带有相对路径的'include'语句进行g ++编译(C ++)

时间:2018-07-11 11:23:59

标签: c++ path include g++ libraries

我正在尝试使用g ++作为编译器与第三方库一起编译c ++代码。 我的main.cpp需要包含头文件core.hpp,而core.hpp需要包含cvdef.h,而cvdef.h需要包含interface.h。

include语句中这三个标头的路径如下:

import {TouchableHighlight,TouchableOpacity,TouchableNativeFeedback }from 'react-native'

请参见下图中的文件结构。

当我编译main.cpp时,它将找到core.hpp。但是,core.hpp似乎找不到cvdef.h,因为它正在'opencv2'文件夹的“ core”文件夹中查找(位于下面的级别)。 在不更改include语句中的路径的情况下,该如何处理?

我当前在Windows下使用g ++的编译语句是:

#include "opencv2/core.hpp"
#include "opencv2/core/cvdef.h"
#include "opencv2/core/hal/interface.h"

enter image description here

1 个答案:

答案 0 :(得分:2)

似乎OpenCV2希望在标准位置中查找头文件。

您可以使用-I(大写i)选项将其添加到标准位置列表中,并指定要添加的路径。

在您的情况下,您应该可以使用

g++ main.cpp -o main -Iopencv2/core