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

C1083: Cannot open include file: math.h: No such file or directory

本文关键字:文件 math C1083 包含      更新时间:2023-10-16

我有很多这样的错误,而且已经到了死胡同。

在谷歌上找到了很多答案,但不幸的是,它们都不起的作用

我正在使用Visual Studio 2012。

它说找不到的所有文件都在我的电脑上的这个文件夹中

C:Program FilesMicrosoft Visual Studio 11.0VCinclude

即使当我右键单击include语句并单击"Open Document"时,它也会将我带到该文档,因此它清楚地在那里,并且可以看到

我也尝试将目录添加到选项中的"附加目录"字段中,但没有解决它。

如果我使用include语句的完整路径如下:

#include <C:Program FilesMicrosoft Visual Studio 11.0VCincludemath.h>

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

知道发生了什么吗?我还能尝试什么?

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

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

如果已经勾选了该框,并且Visual Studio找不到目录,请尝试自己添加这些目录:

$(VCInstallDir)include
$(VCInstallDir)atlmfcinclude
$(WindowsSDK_IncludePath)

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

#include <C:Program FilesMicrosoft Visual Studio 11.0VCincludemath.h>

...开始一个所谓的转义序列,因此您将特殊标记PMVim放入字符串中,但与例如表示换行符的n不同,这些不作为有效的转义序列存在。这可以通过一致地使用正斜杠来解决:

#include <C:/Program Files/Microsoft Visual Studio 11.0/VC/include/math.h>

然而,math.h是一个标准标头。对于标准标头,您不会编写完整的路径。对于非标准标头,可以将include路径添加到项目设置中,也不写入完整路径。

#include <math.h>

那么:你在C++中,而不是在C中。C头的C++等价物通常去掉了.h扩展名,并在前面附加了c

#include <cmath>

我刚刚遇到了同样的问题,我的解决方案只是将文件名放在引号中,而不是尖括号中。

所以,不是<dog.h>,"dog.h"解决了"找不到文件"的问题。

这是Visual Studio中的一个错误,Micosoft已将其设置为"Closed-not a bug",请参阅链接

https://developercommunity.visualstudio.com/content/problem/311530/win10-sdk-broken.html

我在我的电脑上搜索了math.h,在"Program Files\Unity"下的一个子文件夹中找到了它,也就是说Visual Studio没有安装它。这个周末我似乎有点像反米达斯,我接触到的一切都变成了垃圾。

在解决方案属性下重定项目目标。