c++ - 在 C 或 C++ 中包含 header 的正确方法

标签 c++ c makefile

我刚刚发现我一直都做错了。我没有使用任何ide,只使用gcc。我也开始使用 makefile 来编译我的大型项目。

大部分时间文件结构是这样的

├── makefile
└── src
    ├── folder1
    │   ├── header1.cpp
    │   └── header1.h
    ├── folder2
    │   ├── header2.cpp
    │   └── header2.h
    └── main.cpp

header2.cpp 上,当我包含 header1.h 时,我是这样做的

文件 header2.cpp

#include "../folder1/header1.h"

这就是我如何包含另一个文件夹中的其他文件。 我想我做错了。我看过的大部分教程都使用 Ide,但它们并没有像那样包含它。

有些像这样包含

#include "folder1/header1.h"

或者其他人把它放在一个文件夹里,比如headers/

然后像这样包含它。

#include "header1.h"

谁能指导一下。我如何实现这一点。我一直在做这件坏事,包括我猜。

我不想包含这样的文件

 #include "../../../../sofarfolder1/header1.h"

谢谢。每当我看到我的代码时,它都让我呕吐。

最佳答案

如果不想使用../

更多信息:https://gcc.gnu.org/onlinedocs/cpp/Search-Path.html

关于c++ - 在 C 或 C++ 中包含 header 的正确方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33071034/

相关文章:

c - 无需套接字即可访问和管理 native Eth0

c++ - Make 每次都编译所有文件,包括未更改的文件

c++ 容器容器的通用 `flatten`

c++ - 为什么 std::cin.clear() 在这个简单的程序中不起作用?

c# - 恢复文件拖放

makefile - 使溢出¹,或 “How to override a target?”

c++ - Make 不会重新编译头文件更改。尽管包含 .d 依赖文件

c++ - 是否有 boost::phoenix::at_c 结合 boost::spirit::qi::grammar 的替代方案

将空指针(数据)转换为函数指针

c - 算术右移 size_t 值