我目前正在尝试编译一个包含两个头文件的简单程序。我在“包含现有文件”中通过解决方案资源管理器将它们包含进去了。然而,当我运行程序时,出现以下错误信息:
致命错误 C1083: 无法打开包括文件: 'FileWrite.h': 没有那个文件或目录。问题在于我看到该文件已经被包含在头文件夹中,并且在我的代码中也有引用:
#include "FileWrite.h"
然后是程序的其余代码。 还需要做些什么让编译器能够看到头文件并将其链接到我正在尝试编译的.cpp文件中吗?
我目前正在尝试编译一个包含两个头文件的简单程序。我在“包含现有文件”中通过解决方案资源管理器将它们包含进去了。然而,当我运行程序时,出现以下错误信息:
致命错误 C1083: 无法打开包括文件: 'FileWrite.h': 没有那个文件或目录。问题在于我看到该文件已经被包含在头文件夹中,并且在我的代码中也有引用:
#include "FileWrite.h"
然后是程序的其余代码。 还需要做些什么让编译器能够看到头文件并将其链接到我正在尝试编译的.cpp文件中吗?
#include "FileWrite.h"
,则需要确保编译器可以找到该文件。有三种选择:
有两种方法可以实现这个。
1)仅限于当前项目
Select your project -> properties -> C/C++ -> General -> Additional Include Directories -
Include your header file directory.
2)对于所有项目
Tools -> Options -> VC++ Directories -> Include files - Add the header file directory.
不要使用 2,因为在一个与你的系统不同的系统上编译项目时,很难找出其依赖关系。
你说文件在“headers”文件夹中。这可能是指头文件筛选器,也可能是实际的文件系统中的头文件目录。当从自己的项目中包含文件时,需要指定从要包含的文件到当前文件的路径。所以,如果你有类似下面这样的东西:
src/main.cpp
include/my_object.h
在 main.cpp 中,您将使用 #include "../include/my_object.h"
。
这是针对目录的。您在项目中看到的文件夹被称为筛选器,除非您强制要求,否则与项目的目录结构没有任何关系。 您需要注意 Windows 资源管理器中的结构以确定在包含语句中要使用的路径。
.cpp
文件的目录),然后查找其他包含目录。如果FileWrite.h
不在与您的源文件相同的目录中,请检查其他已包含的目录。FileWrite.h
所在的文件夹。