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

新手上路,请多包涵

我有一堆这些错误,并且处于死胡同。

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

我正在使用 Visual Studio 2012。

它说找不到的所有文件都在我的计算机上的这个文件夹中

C:\Program Files\Microsoft Visual Studio 11.0\VC\include

即使我右键单击包含语句并单击“打开文档”,它也会将我带到文档,所以它很明显在那里并且可以看到

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

如果我使用包含完整路径的包含语句,如下所示:

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

然后是有效的,但如果 math.h 文件有任何包含语句,我还需要添加它们的路径等等。

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

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

原文由 Mr Dog 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 2.5k
2 个回答

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

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

 $(VCInstallDir)include
$(VCInstallDir)atlmfc\include
$(WindowsSDK_IncludePath)

原文由 Simple 发布,翻译遵循 CC BY-SA 3.0 许可协议

以下在多个方面是不正确的:

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

\... begins a so called escape sequence, therefore you are putting the special tokens \P , \M , \V , \i\m 到字符串中,但与例如 \n 不同,它表示换行符,这些不作为有效的转义序列存在。这可以通过始终使用正斜杠来解决:

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

但是, math.h 是标准标头。对于标准标题,您无需编写完整路径。对于非标准标题,您将包含路径添加到项目设置中,并且也不要编写完整路径。

 #include <math.h>

然后:您在 C++ 中,而不是在 C 中。C 头文件的 C++ 等效项通常删除了 .h 扩展名,并在前面附加了一个 c

 #include <cmath>

原文由 Sebastian Mach 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题