首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >C1083:无法打开包含文件: math.h:没有这样的文件或目录

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

Stack Overflow用户
提问于 2014-06-12 14:13:32
回答 4查看 58.6K关注 0票数 14

我有很多这样的错误,现在是死胡同。

在谷歌上找到了很多答案,但不幸的是,这些答案都没有用

我正在使用2012。

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

代码语言:javascript
复制
C:\Program Files\Microsoft Visual Studio 11.0\VC\include

即使我右键单击include语句并单击“Open document”,它也会带我到文档,因此它在那里很明显,可以看到

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

如果我在完整路径中使用include语句,如下所示:

代码语言:javascript
复制
#include <C:\Program Files\Microsoft Visual Studio 11.0\VC\include\math.h>

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

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

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

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2014-06-12 14:29:01

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

如果该框已经被选中,并且Visual没有找到这些目录,那么尝试自己添加这些目录:

代码语言:javascript
复制
$(VCInstallDir)include
$(VCInstallDir)atlmfc\include
$(WindowsSDK_IncludePath)
票数 10
EN

Stack Overflow用户

发布于 2014-06-12 14:25:04

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

代码语言:javascript
复制
#include <C:\Program Files\Microsoft Visual Studio 11.0\VC\include\math.h>

\...开始一个所谓的转义序列,因此您将特殊的令牌\P\M\V\i\m放入字符串中,但与\n不同,\n表示换行符,它们并不作为有效的转义序列存在。可以通过前后一致地使用正斜杠来解决这个问题:

代码语言:javascript
复制
#include <C:/Program Files/Microsoft Visual Studio 11.0/VC/include/math.h>

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

代码语言:javascript
复制
#include <math.h>

然后:您使用的是C++,而不是C。C-headers的C++等价物通常会删除.h扩展,并在前面附加一个c

代码语言:javascript
复制
#include <cmath>
票数 5
EN

Stack Overflow用户

发布于 2020-04-19 14:47:16

这是Visual中的一个bug,Micosoft将其设置为"Closed -而不是bug“,请参阅链接

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

我在我的电脑中搜索math.h,并在"Program \Unity“下的一个子文件夹中找到它,即Visual没有安装它。这个周末我好像碰到了相反的侏儒,我碰到的每件事都变成了垃圾。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24186647

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档