如何在Visual Studio 2008中包含头文件?

Ser*_*gio 9 c++ header-files visual-studio-2008 visual-studio

我目前正在尝试编译一个包含两个头文件的简单程序.我在解决方案资源管理器中看到它们,我通过"包含现有文件"将它们包括在内.但是,当我运行我的程序时,它会收到以下错误.致命错误C1083:无法打开包含文件:'FileWrite.h':没有这样的文件或目录.问题是我看到Header的文件夹和我编写的代码中包含的文件:

#include "FileWrite.h"
Run Code Online (Sandbox Code Playgroud)

然后是程序代码的其余部分.是否有其他需要这样做,以便编译器可以看到头文件并将其链接到我正在尝试编译的.cpp文件?

Boj*_*zec 16

如果您在代码中写入类似于#include "FileWrite.h"您需要确保编译器可以找到该文件的内容.有三种选择:

  • FileWrite.h应与源代码文件(.cpp)位于同一目录中
  • 应该在项目的属性中列出该头文件的路径(在C/C++ - >常规 - >其他包含目录中)或
  • 路径可能会在您的VisualStudio设置-将它添加到包含文件中的工具- >选项- >项目和解决方案- > VC++目录

使用以下哪个选项取决于该标头是源自此项目(第一个选项)还是某个其他项目(任何其他两个选项).


Dum*_*der 10

有两种方法可以做到这一点.

1)仅适用于当前项目

Select your project -> properties -> C/C++ -> General -> Additional Include Directories -
Include your header file directory.
Run Code Online (Sandbox Code Playgroud)

2)对于所有项目

Tools -> Options -> VC++ Directories -> Include files - Add the header file directory.
Run Code Online (Sandbox Code Playgroud)

避免使用2,因为在不同于您的系统上编译项目时很难找出项目的依赖关系.


Mot*_*tti 1

当包含文件时,编译器首先在当前目录(包含源.cpp文件的目录)中查找,然后在其他包含目录中查找。如果FileWrite.h与源文件不在同一目录中,请检查其他包含的目录。

在项目的属性页中查看其他包含目录,看看它们是否包含所在的文件夹FileWrite.h