当前位置:编程学习 > C#/ASP.NET >>

vs 2010 error1083

我已经编写了stdafx.h 和stdafx.cpp 为什么仍然提示错误 1 error C1083: 无法打开包括文件:“stdafx.h”: No such file or directory c:\documents and settings\administrator\my documents\visual studio 2010\projects\hook\hook\hookflashplayer.cpp 4
--------------------编程问答-------------------- 新建一个工程,运行程序正常不?如果不正常,说明是安装软件的问题 --------------------编程问答-------------------- MSDN
=============================================


错误 C1083
Visual Studio 2012
其他版本
此主题尚未评级 - 评价此主题

无法打开 filetype 文件:“file”: message

编译器在找不到文件时会生成 C1083 错误。 本文档介绍可能导致该错误的情况。

文件的路径未包含在编译器搜索中

使用 include 指令中指示的搜索规则时,编译器找不到文件。 例如,使用引号括起的头文件名

#include "myincludefile.h" 

指示编译器先在包含具有 include 指令的源文件的目录中查找文件,然后在其他位置查找。 如果名称使用尖括号括起,

#include <stdio.h>

则编译器遵循使用 VC++ 目录、/I 编译器选项、/X 编译器选项和/或 INCLUDE 环境变量(具体取决于是从 IDE 还是在命令行中进行生成)定义的搜索路径。 有关更多信息,请参见 #include指令(c/C++)。

新项目使用默认搜索路径。 您可能必须修改路径才能为项目添加目录。 有关每个用户和每个项目的 VC++ 目录的更多信息,请参见 “VC++ 目录”属性页。 有关 /I 编译器选项的更多信息,请参见 /I(附加包含目录)。 有关 /X 编译器选项的更多信息,请参见 /X(忽略标准包含路径)。

即使头文件列在“解决方案资源管理器”中,当文件由 include 指令引用并且位于目录搜索路径中时(该路径通常在“VC++ 目录”下),编译器也会找到这些文件。 不同种类的生成可能会使用不同搜索路径。 这样不同的生成就可以使用具有相同名称、但保存在不同目录中的不同包含文件。 这是使用预处理器命令进行的条件编译的替代方法。

    C1083 错误还可能指示包含了错误版本的文件。 例如,某个生成可能包含错误版本的文件,该文件的 include 指令针对不是用于该生成的头文件。 当找不到头文件时,编译器会生成 C1083 错误。 此问题的解决方法是使用正确的文件,而不是向生成添加头文件或目录。 

指定的文件名错误

例如,

#include <algorithms.h>

可能找不到正确文件。 有一个名为 algorithms 的标准 C++ 库头文件,它没有 .h 文件扩展名。 此 include 指令找不到该文件。

    在命令行中调用编译器时,通常会使用环境变量。 如果通过 INCLUDE环境变量描述的搜索路径设置不正确,则会生成 C1083 错误。 有关如何使用环境变量的更多信息,请参见如何:在生成中使用环境变量。 

预编译头尚未预编译

当项目配置为使用预编译头时,必须创建相关 .pch 文件,以便可以编译使用头内容的文件。 例如,会在项目目录中为新 MFC 项目自动创建 stdafx.cpp 文件。 先编译该文件以创建预编译的头文件。 (在典型生成过程设计中,这是自动完成的。) 有关更多信息,请参见创建预编译的头文件。
说明说明

import 指令也可能会由于与 include 指令相同的原因而生成 C1083 错误。 有关更多信息,请参见 #import指令(C++)。

几种概率较低的原因

    文件使用托管代码,但是未指定编译器选项 /clr。 有关更多信息,请参见 /clr(公共语言运行时编译)。

    将使用不同于预编译头时使用的 /analyze 编译器选项设置对文件进行编译。 (预编译项目的头时,全都应使用相同的 /analyze 设置。) 有关更多信息,请参见 /analyze(代码分析)。

    文件、目录或磁盘为只读。

    未授予文件或目录的访问权限。

    文件句柄不足。 关闭一些应用程序,然后重新编译。 这种情况一般不常见。 但是,在物理内存有限的计算机上生成大型项目时,可能会发生这种情况。 

下面的示例生成 C1083 错误。

// C1083.cpp
// compile with: /c
#include "test.h"   // C1083 test.h does not exist
#include "stdio.h"   // OK

有关如何在 IDE 或命令行中生成 C/C++ 项目的信息,以及有关设置环境变量的信息,请参见Building C/C++ Programs。 --------------------编程问答-------------------- 好长
补充:.NET技术 ,  VC.NET
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,