如何在/ usr / include中包含自定义.h文件

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

#include "filename.h"; 

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

两种选择:

  1. 使用#include

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

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

方法2.也很好,但在构建系统,Makefile等方面有更多工作。

通常,您可以将自己的标头放在同一目录或子目录中。 Same-dir包括使用“”。 对于括号包括,如果使用gcc,则可以传递其他包含目录

  -Irelativedir 

要么

  -I/usr/local/yourpath.