你这是一个C语言的错误,具体的表现形式为: fatal error C1083:。。。。
意思就是你这个头文件无法打开,你可以看看你的头文件是否存在并导入工程中了?
不明白继续追问!
Visual C++ 中fatal error C1083的解决办法 。
文/蹇安安
最近在做VC开发的过程中遇到了这个烦人的问题,查阅了很多资料也没有一个统一的说法,所以把所有可能出现的情况都总结一下,供以后参考。
症状:
fatal error C1083: Cannot open compiler intermediate file:“C:\WINDOWS\Temp\xxxx” No such file or directory 。
或
致命错误 C1083: 无法打开编译器中间文件: < tmp 目录 >; \ < tmpfile >: 没有的文件或目录 。
原因之一:有可能是环境变量设置不对。user用户变量和system变量TEMP和TMP的变量值都为%SystemRoot%\TEMP ,在正常机器上,这是没有问题的,但是有的用户机器的系统盘是手动更改成C盘的,本来应该为E盘。
解决办法:将user用户变量和system变量TEMP和TMP的变量值都改为C:\WINDOWS\Temp 。
原因之二:和预编译头的设置有关。
解决办法:打开Settings对话框,左边的Settings For中选中Release,底下的TreeView中选中StdAfx.cpp,右边选中C/C++标签页,Category选Precompiled Headers,底下选Create precompiled header,Through header填StdAfx.h。左边的TreeView中依次选中工程中其他所有的cpp,Precompiled Headers都选中Use precompiled header file,Through header填StdAfx.h。最后,“OK”、“Rebuild All”。
原因三:该错误是由 TMP 环境变量的末尾分号引起的。例如:TMP=C:\TMP; 解决办法:从命令行设置 TMP 环境变量正确方法是,如下所示:C:\>SET TMP=C:\TMP 。
非常重要的环境字符串不能结束用分号 (;),因为编译器将中间文件名追加到 TMP 路径。 通过从路径中删除分号,编译器可以正确地创建该文件。
in addition,TMP variable should be fully qualified path and not relative path。C:TMP for example may cause compiler to issue similar errors,but C:\TMP will always work correctly。 TMP environment variable also should be set to that has sufficient space for compiler 's temporary files drive。
另附上Windows帮助文档片段: RESOLUTION 。
To work around this error, specify the /Yc compiler option switch to create a pre-compiled header file. 。
STATUS
Microsoft has confirmed this to be a problem in the Microsoft products listed above. We are researching this problem and will post new information here in the Microsoft Knowledge Base as it becomes available. This problem does not occur in Microsoft C/C++ 32-bit compiler version 8.0, included with Visual C++ 32-bit Edition version 1.0. 。
MORE INFORMATION 。
The following code example demonstrates this problem. Sample Code - TEST.C /* 。
* Compiler options needed: /Fptest.pch to demonstrate error */ 。
#include <stdio.h> void main() { 。
printf("Hello, world\n"); }。
源代码引用该头文件的路径不对。解决方法如下参考:
1.删除所有以前手动添加的路径,恢复平台工具设置为默认的第一个,编译后或第一个问题无法打开包含文件:“winsdkver。”h":没有这样的文件或目录,看了一下常规的include目录下是这个样子的;
2.首先在注册表中搜索路径的字符串,删除,重新打开vs2012或有此在,仔细查看注册表的位置,是vc6.0的路径。
3.我在网上找到了这篇文章,有一个修改的方法。我参考了第二种方法找到了设置位置,但是我没有按照他的方法进行修改。
4.修改后没有报告错误,但是有一个lib文件找不到,根据修改后的笔记本,它是ok的,平台工具集是默认的。
fatal error C1083: 无法打开包括文件,是由于缺少库文件造成的。解决方法如下:
1、网上下载glui32.lib,glut.lib,glut32.lib,gdi32.lib等,缺少哪个下载哪个。然后找到QT的lib目录,X:\Qt\Qt5.2.1\5.2.1\msvc2012_64_opengl\lib。
2、将下载的lib文件复制到上述目录中。
3、再次编译,运行。
4、通过不会再出现类似下面的error: LNK1104: 无法打开文件“glu32.lib”。
5、这样就可以方便编辑各种自己想要的代码了。
fatal error C1083: Cannot open include file: 'unistd.h': No such file or directory是设置错误造成的,解决方法为:
1、输出编译器中进行编译。
2、编译成功,无错误。
3、进行组建,组建时出现错误。
4、执行程序,看程序是否能正确执行即可。