为什么代码块找不到 header,即使它在那里?

Why can't Code Blocks find header, even though it's there?

我在 Code::Blocks 13.12 中有以下项目布局。我是 运行 作为 root。

请注意文件 dtconfig.h 位于 Headers 文件夹中。

该文件位于与 main.cpp 文件相同的目录中:

但是,当我进行构建时出现以下错误:

当我将 include 括在引号中时,例如:

#include "dtconfig.h"

它可以工作,但我必须修改所有其他 headers 才能做同样的事情。这些 headers 不是我写的,而是源项目的一部分。因此,如果不需要的话,我不想弄乱这些文件。

我需要在程序中 do/configure 做些什么才能让它工作吗?

此外,我是 运行 Ubuntu 16.04.1 LTS Mate。

您不打算为您自己的项目代码使用尖括号 (<dtconfig.h>),但是如果您需要在不更改每个文件的情况下使它们工作,那么您可以将一个选项传递给编译器告诉它将您的 dtSearch 目录用作包含目录。

我不知道 C::B 是否支持在 GUI 中包含目录,但您总是可以回退到直接将 -Ipath/to/dtSearch 传递给 GCC 和 Clang,或者 /I 传递给 MSVC .您可以在 C::B 允许您为编译器指定其他命令行选项的地方执行此操作。