在C ++中包含文件

时间:2011-11-04 21:09:17

标签: c++ include codeblocks

我试图在main和我的类实现中包含我的类头。奇怪的是main发现头文件完美,但是通过类实现,我得到“没有这样的文件或目录”。为什么会这样?我的意思是我的项目中的一个文件能够完美地找到头文件的可能原因是什么,但同一项目中的另一个文件找不到相同的相同头文件。

我正在使用CodeBlocks 10.05

由于

2 个答案:

答案 0 :(得分:1)

编译类实现时,编译器搜索的头的列表必须不同。

类实现和主文件是否在同一目录中?如果没有那么问题可能是在大多数编译器上搜索的第一个路径是包含正在编译的文件的目录*,并且头与主文件在同一文件中,但不在类实现文件中。

我不知道您的编译器是否提供它,但有些具有详细模式,将列出搜索标头的路径。如果我的上述评论没有帮助,那么可能就是这样。

  • 假设您使用引号包含该文件。在include中使用引号和尖括号之间的唯一区别是,使用引号意味着在列出的所有其他路径之前(在命令行中,在环境变量中,在implicate中)搜索包含.cpp文件的目录的头文件系统包括路径)。

答案 1 :(得分:0)

确保您的目录配置正确,只要项目中包含实现,它就应该正确编译。另外正如Fred Larson所说,请确保在文件周围加上“引号”,而不是有角度的括号,否则它会在标准目录中找不到它的文件。