C++ 无法使用Visual Studio打开包含文件

C++ 无法使用Visual Studio打开包含文件,c++,visual-studio,visual-studio-2012,include,codeblocks,C++,Visual Studio,Visual Studio 2012,Include,Codeblocks,我最近从一个应用程序转到了VisualStudio,在Code::Blocks中,可以添加一个类,然后立即包含它。但是,每当我在Visual Studio中使用以下语句执行相同操作时: #include "includedFile.h" 或 它不起作用,相反,我得到了错误: 无法打开包含文件:“includedFile.h”;没有这样的文件或目录 是否有我必须勾选的方框或设置?或者我必须手动添加每个标题作为依赖项吗 以下是相关课程的代码: 公共卫生: Public.cpp:

我最近从一个应用程序转到了VisualStudio,在Code::Blocks中,可以添加一个类,然后立即包含它。但是,每当我在Visual Studio中使用以下语句执行相同操作时:

#include "includedFile.h"

它不起作用,相反,我得到了错误:

无法打开包含文件:“includedFile.h”;没有这样的文件或目录

是否有我必须勾选的方框或设置?或者我必须手动添加每个标题作为依赖项吗

以下是相关课程的代码:

公共卫生: Public.cpp:

    #include "Public.h"


    Public::Public(void)
    {
    }


    Public::~Public(void)
    {
    }
如何将其包括在内:

    #include "Public.h"

如果这些包含文件不在项目文件夹中,则需要设置预处理器搜索这些包含文件的路径


可以在中或中设置路径。两者都可以在项目设置中找到。

默认情况下,Visual Studio会在项目所在的文件夹($ProjectDir)和默认的标准库目录中搜索标题。如果需要包含未放置在项目目录中的内容,则需要将路径添加到文件夹以包括:


转到项目属性(Project->properties->Configuration properties->C/C++->General)并在字段
Additional Include Directory
中添加.h文件的路径


您还可以按照Chris Olen的建议,将路径添加到VC++目录字段。

从gcc到visual studio for C编程,我也遇到了同样的问题确保include文件实际位于目录中——而不仅仅显示在VS项目树中。对于其他语言的我来说,复制到项目树中的文件夹确实会将文件移入。在VisualStudio2010中,粘贴到“头文件”中并不是将.h文件放在那里


请检查实际目录中是否存在包含文件。将其放入项目/解决方案资源管理器中的“头文件”文件夹是不够的

> P>我找到这个帖子是因为我在微软Visual C++中有同样的错误。(虽然它的原因似乎与上面发布的问题略有不同。)

我已经将我试图包含的文件放在同一个目录中,但仍然找不到

我的include如下所示:
#include


但是当我把它改为:
#include“ftdi.h”
时,它找到了它

转到您的项目属性(Project->properties->Configuration properties->C/C++->General),并在字段中的其他Include目录中添加.h文件的路径


并确保您的配置和平台是活动的。示例:配置:活动(调试)平台:活动(Win32)

如果您尝试了其他答案,但仍然找不到您的include文件,以下是一些额外的调试步骤和健全性检查:

  • 确保您正在构建代码支持的平台。(如果不是,考虑删除这个平台作为目标)
  • 验证文件名/路径是否正确。将源代码修改为
    #包含头文件的整个绝对路径,然后查看是否现在可以找到该文件。如果没有,请将源代码中的路径复制粘贴到命令行中,以验证文件是否存在于该完整路径中,并且没有输入错误。打开头文件以确保您具有读取权限。(完成后将源代码更改回原处。)
  • 如果已将路径添加到
    其他包含目录
    ,请尝试单击
    其他包含目录
    的下拉组合框,然后选择
    。这将显示路径的
    评估值。(如果未显示正确的计算值,则可能未设置路径中的变量。单击
    宏>>
    查看变量。)将计算路径复制粘贴到windows资源管理器中以验证路径是否存在 < LI>创建一个新的空C++“Windows控制台应用程序”项目。只设置一个Include目录,并#只在main.cpp中包含一个文件,然后查看是否会生成该文件

对我来说,它有助于将项目链接到当前目录:

在属性-> C++ > ->一般窗口中,而不是将路径链接到“附加包含目录”中的文件。放入“.”并取消选中“从父项或项目默认值继承”


希望这有帮助

如果您的问题仍然存在,那肯定是因为您试图编译与当前设置不同的版本

例如,如果在调试x64中设置了
附加包含目录
,请确保使用相同的配置进行编译


选中此项:
Build>configurationmanager…>
在您的活动解决方案配置中可能存在类似的问题:
调试x86(Win32)平台

我在这里也尝试了其他答案,但我的问题与包含路径或缺少不正确的文件无关。我有两个配置,每一个都设置为完全相同的include目录。一种配置可以解析包含,另一种无法解析

在选择我的项目并转到项目->属性之后,我通过配置下拉菜单->多个配置选择了这两种配置。。。选项比较两者,我发现C/C++->Language->Compliance模式是不同的。由于某种原因,“不正确”配置的值为
Default
,将其切换为
Yes
No
可以解析路径


TL;DR:如果一个配置具有相同的包含目录,但另一个未找到文件,我建议尝试比较这些配置。

它们位于项目文件夹中,我已在两个目录中添加了项目路径,唉,这不起作用,它们在项目文件夹中,我已经在这两个目录中添加了项目的路径
    #include "Public.h"


    Public::Public(void)
    {
    }


    Public::~Public(void)
    {
    }
    #include "Public.h"