3

我在 /usr/include 下放置了一些自定义 .h 文件,但在目录 (/usr/include/itsmag1c) 中,我试图将它们包含在我的 C 文件中。我猜是因为我用

#include "filename.h";

对于同一目录中的文件,我会使用尖括号来包含像 math.h 或 stdio.h 这样的文件。我是否正确地猜测我会使用尖括号来包含我的自定义头文件?如果是这样,我的程序将无法编译,我收到无法找到包含文件的错误。有人可以指出我将如何包含这些文件,还是最好将它们与我的程序放在同一目录中?

4

2 回答 2

4

两种选择:

  1. 采用#include <itsmagic1c/filename.h>

  2. 像以前一样使用#include <filename.h>,但添加一个-I开关。

Boost 等使用方法 1。(如果您在系统位置安装了 Boost,就像在具有合理包管理的合理标准 Linux 机器上一样,这种方法效果很好)。

方法 2. 也很好,但是在构建系统、Makefile 等方面需要做更多的工作。

于 2012-04-12T20:54:11.957 回答
2

通常,您会将自己的标题放在同一目录或子目录中。Same-dir 包括使用“”的工作。对于括号包含,如果你使用 gcc,你可以传递额外的包含目录

  -Irelativedir 

或者

  -I/usr/local/yourpath.
于 2012-04-12T20:54:44.733 回答