繁体   English   中英

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

[英]How to include header files in Visual Studio 2008?

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

#include "FileWrite.h"

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

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

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

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

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

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,因为在不同于您的系统上编译项目时很难找出项目的依赖关系。

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

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

你说文件在“headers”文件夹中。 这可能意味着头文件过滤器或文件系统上的实际头文件目录。 从您自己的项目中包含文件时,您需要指定您所包含文件的路径。 所以,如果你有这样的事情:

src/main.cpp
include/my_object.h

你可以在main.cpp中使用#include "../include/my_object.h"

这是目录。 您在项目中看到的文件夹称为过滤器 ,除非您强制使用,否则与项目的目录结构完全无关。 您需要注意Windows资源管理器中的结构,以确定在include语句中使用的路径。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM