在c++中包含相对于项目目录的文件
Including files relative to project directory in c++
我有一些头文件包含在项目源的子目录中。在我看来,必须在这些文件中做#include "../../Foo.h"
看起来有点乱,当我更喜欢做#include "dir1/dir2/Foo.h"
以更快地进行人类阅读和理解时-这是可能的吗,如果是这样,怎么做?
显然可以。(也应该)
告诉编译器添加"projectdir/../.."到它的包含路径。在Microsoft上,这将使用/I
开关,在gcc上是-I
。
---- edit -----
在Visual Studio中,可以使用'Macros'。在这种情况下,$(ProjectDir)/../..
应该做。
如果你能这样组织它,那就更好了:在'root'目录下创建一个解决方案,在子目录中添加项目,并在c++包含路径上使用$(SolutionDir)/projectX/includes
。
更棒的是:将依赖的项目添加为项目的引用。VS应该自动将它的目录和库添加到编译器和链接器设置中。
相关文章:
- CMake-按正确顺序将项目与C运行时对象文件链接
- 在其他文件中创建类时在 c++ 项目中不起作用
- 使用外部SDK工具链文件在VisualStudio上生成项目编译错误
- Eclipse CDT:单个项目中有多个C++文件
- Visual Studio跨平台生成文件项目,找不到命令
- C :多文件C 项目中的相互引用的结构
- 正确地在多文件项目中#CRUDING SDL
- 如何将我的生成文件项目导入QtCreator
- 不更改生成文件后,生成文件项目不会生成(几乎相同的生成,工作正常)
- 模板类多文件项目 - 如何
- 崇高文本不编译C++多文件项目
- 无法调试C++日食生成文件项目
- 如何正确构建 OOP 和多文件项目
- 3 文件项目中未定义引用中的 C++ 命名空间
- 创建一个可以在 Windows 环境中的现有生成文件项目上运行的 clang 工具
- CodeRunner 和多个文件项目
- 在Turbo c++中编译多文件项目
- 链接.o (C对象文件)到Linux上的c++文件/项目
- 生成文件项目 - 防止通过"-j"参数使用多个作业时生成失败
- visual studio 2012-仅限C++头文件项目-从不同程序集使用