为什么代码块找不到 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 允许您为编译器指定其他命令行选项的地方执行此操作。
我在 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 允许您为编译器指定其他命令行选项的地方执行此操作。