C1083:无法打开包含文件:math.h:没有这样的文件或目录

Mr *_*Dog 9 c++ include math.h visual-studio

我有一堆这些错误,我处于死胡同.

在谷歌找到了大量的答案,但不幸的是他们都没有工作

我正在使用Visual Studio 2012.

它说的无法找到的所有文件都在我的计算机上

C:\Program Files\Microsoft Visual Studio 11.0\VC\include
Run Code Online (Sandbox Code Playgroud)

即使我右键单击include语句并单击"打开文档",它也会将我带到文档中,因此它显然在那里可以看到

我尝试将目录添加到选项中的"其他目录"字段,但没有解决它.

如果我使用带有完整路径的include语句,如下所示:

#include <C:\Program Files\Microsoft Visual Studio 11.0\VC\include\math.h>
Run Code Online (Sandbox Code Playgroud)

然后是有效的,但如果math.h文件有任何include语句,我还需要添加它们的路径,依此类推.

任何想法发生了什么,我还能尝试什么?

编辑:尝试从头开始创建一个新项目,看看是否有帮助.我有可能触及了我不应该拥有的设置

Sim*_*ple 9

右键单击项目,转到"属性",然后转到VC++目录并打开"包含目录"的编辑器.应该有一个标记为"从父项或项目默认值继承"的复选框.您将看到Visual Studio包含一些预定义的目录.

如果该框已被勾选并且Visual Studio未找到目录,则尝试自己添加这些目录:

$(VCInstallDir)include
$(VCInstallDir)atlmfc\include
$(WindowsSDK_IncludePath)
Run Code Online (Sandbox Code Playgroud)


Seb*_*ach 5

以下内容在多种方面都不正确:

#include <C:\Program Files\Microsoft Visual Studio 11.0\VC\include\math.h>
Run Code Online (Sandbox Code Playgroud)

\...开始所谓的转义序列,所以你是把特殊的记号\P\M\V\i\m到字符串,但不像例如\n,它表示一个换行符,这是不存在的为有效的转义序列。可以通过始终使用正斜杠来解决此问题:

#include <C:/Program Files/Microsoft Visual Studio 11.0/VC/include/math.h>
Run Code Online (Sandbox Code Playgroud)

但是,math.h是标准标头。对于标准标题,您无需编写完整路径。对于非标准标题,您可以将include-path添加到项目设置中,也不要编写完整路径。

#include <math.h>
Run Code Online (Sandbox Code Playgroud)

然后:您使用的是C ++,而不是C。通常,C头的C ++等效项都.h删除了扩展名,并c在其前面附加了:

#include <cmath>
Run Code Online (Sandbox Code Playgroud)