我有一些自定义.h文件放在/ usr / include下,但是在一个目录(/ usr / include / itsmag1c)中,我试图将它们包含在我的C文件中。我猜是因为我使用
#include "filename.h";
对于同一目录中的文件,我会使用尖括号来包含像math.h或stdio.h这样的文件。我是否正确地猜测我会使用尖括号来包含我的自定义头文件?如果是这样,我的程序不会编译,我得到错误,无法找到包含的文件。有人可以指点我如何包含这些文件,还是最好将它们放在与我的程序相同的目录中?
答案 0 :(得分:4)
两种选择:
使用#include <itsmagic1c/filename.h>
像以前一样使用#include <filename.h>
,但添加-I
开关。
Boost等使用方法1.(如果您在系统位置安装了Boost,就像在具有合理包管理的合理标准Linux机箱上一样),这种方法很有效。
方法2.也很好,但是在构建系统,Makefile等方面有更多的工作。
答案 1 :(得分:2)
通常,您可以将自己的标题放在同一目录或子目录中。 Same-dir包括使用“”。对于括号包括,如果使用gcc,则可以使用
传递其他包含目录 -Irelativedir
或
-I/usr/local/yourpath.