VC Fatal Error C1083的几种解决方案
来源:网络整理 网络用户发布,如有版权联系网管删除 2018-09-27
VC Fatal Error C1083的几种解决方案
遇到的问题:
情况1:
Fatal Error C1083: Cannot open precompiled header file: 'Debug/<Project-Name>.pch': No such file or directory
This error results from a missing file - the compiled version of StdAfx.cpp. Visual C++ does a poor job of keeping track of this file and frequently "forgets" how to build it. This problem often occurs after restoring a saved workspace from diskette without the Debug directory. To fix the error select StdAfx.cpp from the workspace file list them choose Compile from the Build menu. If that doesn't work the go to Project -> Settings, select the C/C++ tab, and click the radio button labeled Create Precompiled Headers.
Unexpected end while looking for precompiled header
这时因为该模块没有包括预编译头文件“stdafx.h”的缘故。
VC用一个stdafx.cpp包含头文件stdafx.h,然后在stdafx.h里包含大部分系统头文件,这样编译时VC就通过编译stdafx.cpp把大部分系统头文件预编译进来了,在Debug目录下有一个很大的文件*.pch,这里就存储了预编译信息。
根据这个原理,如果这个pch损坏了或被删除了,系统重新编译时就会抱怨“cannot open precompiled header file debug/*.pch”。这时怎么解决这个问题呢,打开Project-》Setting对话框选C++页,将Category下拉式列表框选中Precompiled Headers,最简单的办法就是选中第一个选项“Not using....",这样就根本不用预编译头也不去寻找pch文件,就不会出错了,但是这样做的后果是每次编译、连接都化更多的时间。
也可以选第二个选项”Automatic ...",然后在“Through header”力填上stdafx.h,这样如果没有pch文件系统会自动生成一个pch,如果有的话就使用这个pch,这个选项是比较“智能”的。
第三个选项是强行创建一个pch文件。
第四个选项是直接使用pch文件。当然“Through headers”里都填stdafx.h了。
情况2:
遇到的问题:
Fatal Error C1083: Cannot open header file: '*.h': No such file or directory
If an include file could not be opened, check that the INCLUDE environment variable is set correctly and that the name of the file is spelled correctly.
Using double quotation marks around a complete path specification in a #include directive causes the standard directories to NOT be searched.
解决方法:
1. 首先检查头文件是否有拼写错误。
2. 检查头文件的环境变量是否设置正确。
3. 自己写的头文件用双引号引起来。例如#include "test.h"
查看评论 回复