【发布时间】:2011-12-18 02:48:49
【问题描述】:
我正在使用 MacOS X 上的 Xcode 开发 C++ 项目,现在开始使用 Code::Blocks IDE 将其移植到 Linux。
我的许多源文件位于不同的目录中,我遇到了包括它们在内的问题。
这里是这个问题的一个例子:
folder1/foo.h
folder2/dog.h
foo.h includes dog.h with: `#include "dog.h"`
如果两个文件在同一个项目中,它在 Xcode 上工作正常,但如果我在 Code::Blocks 中尝试它,它会出错。
我可以通过将代码更改为使用相对包含路径来解决 Code::Blocks 中的这个问题,例如:
#include "../folder2/dog.h"
不幸的是,这样做会使 Xcode 无法找到该文件。
如何解决这个问题,以便在多个 IDE 中编译相同的代码?我想避免将所有源代码放在同一个文件夹中。我应该使用类似于以下的预处理器语句:
#if XCODE
#include "dog.h"
#else
#include "../folder2/dog.h"
#endif
【问题讨论】:
-
进入 Code::blocks 选项并设置包含目录。
-
@EthanSteinberg 设置完成后,我是否可以直接包含 #include "dog.h" 之类的文件?
-
是的。这是设置包含目录的要点之一。
-
@Dmitri 它没有。我认为它所做的是将项目中的所有标题复制到一个目录中并在那里编译表单。
标签: c++ c xcode include codeblocks