gpt4 book ai didi

C++ 头文件依赖

转载 作者:行者123 更新时间:2023-11-30 02:29:52 26 4
gpt4 key购买 nike

我正在尝试修改 Android,其中我正在更改它的一些 C++ 代码,并且面临与 header 包含相关的问题。

在文件中说 foo.c , 我需要包括 bar.h但它位于不同的文件夹中:

../../dir1/dir2/bar.h

bar.h依次包含一个文件 baz.h来自同一文件夹 (dir2) :

#include <dir2/baz.h>

起初我试图包括bar.h如下在foo.c :

#include "../../dir1/dir2/bar.h"

但是他们bar.h找不到 baz.h .

我试图改变 Makefile添加INC=-I../../dir1 ,但它不起作用。任何建议都会有所帮助。

最佳答案

由于bar.h和baz.h在同一个目录下,所以在bar.h中使用如下:

#include "baz.h"

为了在foo.c 中#include bar.h,你有很多选择。例如

选择 1:

#include "../../dir1/dir2/bar.h"

并用-I.编译。您也可以省略 -I.

选择 2:

#include <bar.h>

并用-I../../dir1/dir2编译。

选择 3:

#include <dir1/dir2/bar.h>

并用-I../..编译。

您为 foo.c 中的 #includeing bar.h 选择什么方法取决于您对其余代码的结构以及您对项目中模块化的定义的更大看法。

关于C++ 头文件依赖,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39241368/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com