我正在尝试将我的类 header 包含在 main 和我的类实现中。奇怪的是 main 完美地找到了头文件,但是通过类实现我得到“没有这样的文件或目录”。为什么会这样?我的意思是什么可能的原因是我的项目中的一个文件能够完美地找到头文件,但同一项目中的另一个文件找不到相同的相同头文件。
我正在使用 CodeBlocks 10.05
谢谢
最佳答案
在编译类实现时,编译器搜索头文件的路径列表必须不同。
类实现和主文件是否在同一个目录下?如果不是,则问题可能是在大多数编译器上搜索的第一个路径是包含正在编译的文件的目录*,并且 header 与主文件位于同一文件中,但不是类实现文件。
我不知道你的编译器是否提供它,但有些编译器有详细模式,会列出正在搜索标题的路径。如果我的上述评论没有帮助,那么也许会。
- 假设您使用引号将文件包含在内。在包含中使用引号和尖括号之间的唯一区别是使用引号意味着在列出的所有其他路径之前搜索包含 .cpp 文件的目录以查找 header (在命令行上,在环境变量中,在暗示中)系统包含路径)。
关于c++ - 在 C++ 中包含文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8015753/