c++ - 无法在 C++ 控制台应用程序项目中包含头文件

标签 c++ visual-c++ header-files visual-c++-2010

我一直在尝试链接 .lib 文件,并在我的 C++ 控制台应用程序项目中包含一个头文件。我从其他项目之一复制了 C++ 头文件,并将其粘贴到控制台应用程序项目的 Header Files 文件夹下。这是截图:/image/OP4cK.png

但是,当我尝试将 header 作为 #include... 包含在代码中时,我没有获得带有 header 文件名称的智能感知。 (我只看到 targetver.h、stdafx.h 和 Debug 文件夹)
我尝试将 C++ 控制台应用程序项目属性中的添加其他包含目录指向项目文件夹本身,但这似乎没有帮助,文件仍然不显示。

如果我将头文件的名称写为#include "DllTest.h",则会收到一条错误消息:
Cannot open include file: 'DLLTest.h ': 没有这样的文件或目录 c:\users\ht\documents\visual studio 2010\projects\dlltest\dlltestconsole\dlltestconsole.cpp

头文件是如何包含在这里的,以便它开始出现?如果我添加一个新项目>头文件,将其命名为DLLTest.h并将头文件内容复制粘贴到此处,它就会正常显示。复制粘贴到 Header Files 文件夹中的头文件将如何显示在代码中?

最佳答案

在 C++ 项目中,解决方案资源管理器中看起来像文件夹的东西实际上并不是文件夹,它们是过滤器。它们是纯 UI 实体,可用于在 IDE 中组织项目项。但它们并不以任何方式反射(reflect)磁盘上项目的结构或位置。您可以将文件从磁盘上的任何位置添加到解决方案中的任何过滤器。

编译器对这些过滤器一无所知;它只知道磁盘上存在的文件。

在您的情况下,这些文件不位于您的项目文件夹中。您需要:

  • 将文件复制到项目文件夹中,然后从那里将它们添加到项目中(右键单击解决方案,然后单击“添加现有项目”),或者

  • 从文件所在位置添加文件,然后将其位置添加到项目属性中的“其他包含目录”属性中。

当您将文件复制并粘贴到项目中时,我不知道有什么方法可以让 IDE 自动将文件移动到项目目录。 C++ 项目系统与 C# 和 VB 使用的项目系统有根本的不同。

关于c++ - 无法在 C++ 控制台应用程序项目中包含头文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10438206/

相关文章:

optimization - Visual C++ 使用什么形式的别名分析?

c++ - C++头文件中定义字符数组

c++ - 如何使用 CMake 在 KDevelop 中定义多配置?

c++ - boost::asio 在使用 post() 时没有调用处理程序,在直接调用函数时有效(io_context 有效)

c++ - 实现 unique_unlock,与 std::unique_lock 相反

c++ - 如何提高键类型为 std::string 的 map 查找的性能?

c++ - OpenGL 与 OpenCV 相结合的计算机视觉教程

visual-c++ - 全局静态指针问题

c++ - 要求包含 <initializer_list> 的理由是什么?

c - 什么时候使用 include 守卫?