找不到Visual C ++包含文件

问题描述 投票:2回答:6

我有一个项目,我在其中添加了所有源文件。然后,我单击构建,它说:

fatal error C1083: Cannot open include file: 'common.h': No such file or directory 1> crc64_tablegen.c

这很烦人,因为common.h在我的项目中!就在那!我认为它可能位于其他目录中。是原因吗?我应该将所有内容移到根目录,然后添加它吗?谢谢!

visual-c++ visual-studio-2010 header include
6个回答
6
投票

文件在项目结构中的位置对尝试打开包含文件的编译器没有任何影响。如果它们在其他目录中,则需要适当地对其进行路径设置。

即,如果您具有此目录结构:

project/include/common.h
project/src/main.cpp

并且您的项目中有这个:

Project
|-> common.h
|-> main.cpp

您的主文件将需要执行此操作:

#include "../include/common.h"

不是这个:

#include "common.h"

您也可以在项目设置中将project/include定义为其他包含目录。这将允许您使用上面显示的第二个包含表单。


0
投票

编译器对包含在其中的项目和文件一无所知。如果.h文件在另一个目录中,则需要将此目录添加到列表中。例如,打开项目-属性-C ++-常规-其他包含目录,然后添加$(ProjectDir)Include或类似的内容。


0
投票

在VC ++中,文件在项目中的位置是虚拟的,并且没有指向实际文件路径的任何链接。您可能必须使用#include来更具体,和/或将源文件移到要查找的项目目录中。


0
投票

尝试在“其他包含目录”下的项目设置中添加路径。

这是完整的步骤集:

  1. 下拉工具菜单,然后选择选项
  2. 在左侧的框中是选项类别的列表。选择“项目和解决方案”,然后选择子类别“ VC ++目录”
  3. 在右上角是一个下拉框,用于选择一组特定的默认目录,包括“可执行文件”,“包含文件”,“参考文件”,“库文件”和“源文件”。通常,您只想添加到“包含文件”或“库文件”列表中。选择“包含文件”
  4. 在窗口右侧的中间是目录列表。通过单击窗口上方的“新建行”按钮或按“ Ctrl-插入”来添加包含路径。出现一个空白条目,供您键入路径或单击“ ...”按钮进行导航。通常,您想要的最终路径将以一个名为“ include”的文件夹结尾。现在输入路径。
  5. 完成后,单击确定

0
投票

如果已将.h文件添加到现有项目中,并收到错误消息C1083:无法打开包含文件。确保已将其正确添加到程序中。

如果您具有#include,则可能不起作用。

尝试输入#include“ course.h”。

我已经在我的项目中解决了这个问题几个小时,现在才意识到这个错误。您也可以在项目属性中添加目录以使其正常工作,但是当将其发送给其他人查看时,他们可能会收到相同的错误。


0
投票

我只是在Visual Studio 2017中遇到了同样的问题,并找到了引起问题的原因。以下两个内容之间有区别:

#include "common.h" // Quoted form
#include <common.h> // Angle-bracket form

First include可以使用包含#include的文件来查找包含的头文件。

第二个include会忽略包含#include的文件,因此,如果在其他包含目录中没有头文件的目录,则找不到该文件,尽管如此,IntelliSense还是会很乐意跳到头文件(Ctrl + Shift + G),就像在第一种情况下一样。

因此,请更改#include或将目录添加到“其他包含目录”。

Microsoft Docs处的更多信息。

© www.soinside.com 2019 - 2024. All rights reserved.