【问题标题】:C1083: Cannot open include file: math.h: No such file or directoryC1083:无法打开包含文件:math.h:没有这样的文件或目录
【发布时间】:2014-08-02 21:51:48
【问题描述】:

我遇到了一堆这样的错误,现在走上了死胡同。

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

我正在使用 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 文件有任何包含语句,我还需要添加它们的路径等等。

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

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

【问题讨论】:

  • '我正在使用 Visual Studio 2012。' C:\Program Files\Microsoft Visual Studio 11.0?!?!?
  • @πάνταῥεῖ VS v11 VS 2012。VS v12实际上是VS 2013。

标签: c++ visual-studio include math.h


【解决方案1】:

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

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

\... 开始所谓的转义序列,因此您将特殊标记 \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>

【讨论】:

  • 我在 C++ 中,尽管 math.h 是标准头文件,但仍然找不到?
  • @Rio:如果是书呆子,那cmath是C++的标准,math.h只是C的标准。你试过了吗?
  • 我刚刚尝试过,它给了我同样的错误。 C1083 无法打开包含文件:'cmath':没有这样的文件或目录
【解决方案2】:

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

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

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

【讨论】:

  • 感谢您的回复。该框已打勾,您所说的 3 个目录列在“继承的值:”下
  • @Rio 如果您按下该对话框上的宏按钮,$(VCInstallDir) 宏会展开成什么?
  • 它指向“C:\Program Files\Microsoft Visual Studio 11.0\”
  • @Rio mine 指向“C:\Program Files\Microsoft Visual Studio 11.0\VC\”。尝试自己添加$(VCInstallDir)vc\include$(VCInstallDir)vc\atlmfc\include 作为解决方法。
  • 抱歉,窗口把它剪掉了。 'VC\' 也在我的身上。
【解决方案3】:

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

因此,“dog.h”代替了 解决了“找不到文件”的问题。

【讨论】:

    【解决方案4】:

    这是 Visual Studio 中的一个错误,Micosoft 已将其设置为“已关闭 - 不是错误”,请参阅链接

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

    我在我的 PC 中搜索 math.h 并在“Program Files\Unity”下的子文件夹中找到它,即 Visual Studio 没有安装它。这个周末我好像碰了点反手,我碰的一切都变成废话了。

    【讨论】:

      【解决方案5】:

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2010-10-27
        • 1970-01-01
        • 1970-01-01
        • 2017-02-12
        • 2017-05-04
        • 2016-11-03
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多