编译器无法找到我的标题?

时间:2013-06-02 13:04:10

标签: c++ visual-studio-2012 compiler-construction header

尽管哈希包含它,我的项目似乎找不到它的头文件。我已经包含了截图,因为我认为这是展示问题的最有效方式:

错误消息

1> c:\ users \ wood \ desktop \ old programs \ locker.cpp(2):致命错误C1083:无法打开包含文件:'Locker.h':没有这样的文件或目录

As you can see, I have included Locker.h at the top of the file, and it is also listed under 'Header Files' on the left.

关于出了什么问题的任何想法?我尝试过:1)清理项目并重建它。 2)创建一个全新的,相同的项目。

谢谢!

2 个答案:

答案 0 :(得分:6)

好的,我们假设我有一个源代码位于C:\ Users \ Chuck \ desktop \ programming中的程序,但它需要来自C:\ Users \ Chuck \ desktop \ headers的头文件。我可以#include我想要的标题,但如果我不包含绝对文件名,编译器将拒绝查找正确的位置。 但是,对于您来说,您可能尝试的最简单的解决方案是包含头文件的绝对路径。所以,如果它位于

    C:\Users\Wood\desktop\old programs\locker.h

您可以尝试包含它而不仅仅是“locker.h” 如果我没有在同一目录中包含头文件,那么Code :: Blocks会让我感到烦躁不安。通常我可以使用相同的方法解决这个问题。试一试,看看它是否有效。

答案 1 :(得分:4)

在解决方案资源管理器中双击locker.h将其打开,然后将鼠标悬停在选项卡上以查看完整路径。切换到尝试包含它的文件并将鼠标悬停在选项卡上以查看完整路径。如果这两个文件不在同一个文件夹中,则必须执行以下操作之一:

  • 调整你的" C ++包含目录"属性(类型"包括"在屏幕右上方的快速启动区域中找到该属性
  • 使用相对路径,例如#include "..\headers\Locker.h"
  • 将文件复制到与.cpp文件相同的文件夹中,将其从项目中删除(因此旧位置不再重要),删除旧版本,然后使用Add Existing添加新文件复制版本(与.cpp位于同一文件夹中)再次复制到项目

其中一个应该可以解决问题。