我想将我的类头包含在main和我的类实现中。奇怪的是main找到了完美的头文件,但是通过类实现,我得到了“没有这样的文件或目录”。为什么这会发生?我的意思是我的项目中的一个文件能够完美地找到一个头文件,但同一个项目中的另一个文件找不到相同的头文件可能有什么原因。在C++中包含文件
我使用的代码块10.05
感谢
我想将我的类头包含在main和我的类实现中。奇怪的是main找到了完美的头文件,但是通过类实现,我得到了“没有这样的文件或目录”。为什么这会发生?我的意思是我的项目中的一个文件能够完美地找到一个头文件,但同一个项目中的另一个文件找不到相同的头文件可能有什么原因。在C++中包含文件
我使用的代码块10.05
感谢
确保您的目录配置正确的,只要实现包含在项目应正确编译。同样如Fred Larson所说,确保在文件周围放置“引号”,而不是括号括起来,否则会在标准目录中查找找不到文件的标准目录。
我决定放弃Codeblocks并将其移到Xcode上,并在其中找到头文件。谢谢你的回答! – user1017485
在编译类实现时,编译器为标题搜索的路径列表必须不同。
类实现和主文件在同一个目录下吗?如果没有,那么问题可能是,在大多数编译器中,搜索到的第一个路径是包含正在编译的文件的目录*,并且头文件与主文件位于同一个文件中,但不是类实现文件。
我不知道你的编译器是否提供了它,但有些模式有一个详细模式,它将列出搜索标题的路径。如果我上面的评论没有帮助,那么也许会。
你在做'#include“blah.h”'或'#include'吗?源文件是否在不同的目录中? –
你可以粘贴一个(可能与项目敏感的东西审查)粗略的项目结构的想法?你使用的是什么构建系统,以及发送给编译器的选项(如-I)? –
你不应该包含实现。包括标题,就是这样。实现文件仍然会被编译。 – Pubby