对于VC++报错:fatal error C1001: INTERNAL COMPILER ERROR

转载 2015年03月28日 16:41:20

有以下两种可能:

1、运算符重载时遇到以上错误代码

解决方法:

将#include<iostream> 改成 #include<iostream.h>

然后去掉 using namespace std;

编译即可通过!

 

或者你要前向声明类,然后声明友元函数(注意不要加friend),也可以顺利通过编译!

或者你打上vc6.0的sp6补丁就可以了!

 

 

 

 

 

 

2、如果你在用 VC6 编一个规模较大的工程,如果你在用 VC6 编译一个用到了模板的工程,那恭喜你,这个错误会时不时冒地出来和你打招呼,搞得你手足无措。详细的出错信息如下: fatal error C1001: INTERNAL COMPILER ERROR         (compiler file 'msc1.cpp', line 1794)          Please choose the Technical Support command on the Visual C++          Help menu, or open the Technical Support help file for more information Error executing cl.exe. 网上已经有其他人写的解决方法了,不过貌似都很麻烦,而且还有副作用(例如有一种是要求把预编译头选项关闭,那会导致整个工程的编译如同老牛拉车)。而官方的针对此问题的描述在这里:http://support.microsoft.com/?scid=kb%3Ben-us%3B305980&x=14&y=12,不过,按照微软一贯的风格,按照它的指导去解决问题,可能需要具有无比的运气。经 过老汉本人多次验证,在 VC6 中可以用如下方法解决:在出错信息中找到出错时正在编译的那个 cpp 文件的名字,把它记下来;在 FileView 窗口中的 source files 下新建一个子文件夹,把刚才记住的 cpp 文件移动到这个文件夹中;然后再次编译。(顺便说一下,这其实是改变了工程中 cpp 文件的编译顺序)可以很负责任的说,老汉自己验证的成功率在 99% 以上。 这个技术本来是专门针对于 VC6 的,因为从 VS2003 开始,老汉几乎再也没有遇到过这个问题,所以也就一直没有共享出来。可惜历史总是会重演,刚才一个在玩儿 VS2005 的兄弟竟然在摸死你上和我说编译器报以下错误: fatal error C1001: 编译器中发生内部错误。(他的是中文版,英文版的错误信息似乎应该是:fatal error C1001: An internal error has occurred in the compiler.)老 汉一眼就看出了这绝对是前述问题借尸还魂了,所以把秘籍告诉了他,一次搞定!唯一需要注意的就是,VS2005 里,FileView 已经变成了 Solution Explorer(中文是“解决方案管理器”),而 New Folder 菜单项也变成了“Add->New Filter”(中文可能是“添加->新筛选器”)。仅此而已。 祝遇到这个问题的兄弟好运,能搜到我的这篇文章。

 

 

很多C++程序员还在使用而不是用更新的标准的库。
这两者都有什么不同呢?首先,5年前我们就开始反对把.h符号继续用在标准的头
文件中。继续使用过时的规则可不是个好的方法。从功能性的角度来讲,
<iostream>包含了一系列模板化的I/O类,相反地<iostream.h>只仅仅是支持字符
流。另外,输入输出流的C++标准规范接口在一些微妙的细节上都已改进,因此,
<iostream>和<iostream.h>在接口和执行上都是不同的。最后,<iostream>的各组
成都是以STL的形式声明的,然而<iostream.h>的各组成都是声明成全局型的。

因为这些实质上的不同,你不能在一个程序中混淆使用这两个库。做为一种习
惯,在新的代码中一般使用<iostream>,但如果你处理的是过去编写的代码,为了
继承可以用继续用<iostream.h>旧保持代码的一致性。





<iostream>表示你使用的是标注命名空间,也就是在程序开始应该有这么一句话
using namespace std ;
这是遵循c++标准的
<iostream.h>
则没有遵循c++标准


<string.h>是旧的C头文件,对应的是基于char*的字符串处理函数;
<string>是包装了std的C++头文件,对应的是新的strng类;
<cstring>是对应旧的C头文件的std版本。

fatal error C1001: INTERNAL COMPILER ERROR (compiler file 'msc1.cpp', line 1)记录

头文件用#include 但是当改成#include 后,会出现does not exist or is not a namespace 原因: 查了一下,原来 C++有两个不同版本的头文件。引...
  • dingchenxixi
  • dingchenxixi
  • 2016年05月29日 11:12
  • 1836

VC6.0的一个编译错误:fatal error C1001: INTERNAL COMPILER ERROR。

最近在编译一个VC6.0工程(开发环境:win2000+VS6.0+Sp6),在加入预编译头后出现了下面的编译错误提示:c:/program files/microsoft visual studio...
  • roger_77
  • roger_77
  • 2006年03月20日 13:48
  • 16006

fatal error C1001:INTERNAL COMPILER ERROR (compiler file 'msc1.cpp', line 1786)

**重点内容**Searching google with query string “compiler file ‘msc1.cpp’, line 1786” find the following ...
  • evil_119
  • evil_119
  • 2015年05月06日 10:55
  • 900

fatal error C1001: INTERNAL COMPILER ERROR VC6.0BUG

fatal error C1001: INTERNAL COMPILER ERROR VC6.0BUG 这是微软VC6.0的Bug 不要用using namespace std; 改成 using ...
  • Liuchuang_MFC
  • Liuchuang_MFC
  • 2016年05月02日 21:43
  • 1066

C++:internal compiler error解决

编绎文件时,出现这个问题原因一般就是内存不够, 若是在虚拟机上,关掉虚拟机,可直接调节虚拟机内存大小,然后重新启动即可。...
  • xranmail
  • xranmail
  • 2017年06月07日 15:40
  • 1306

gcc 编译出现 internal compiler error: Killed

gcc 编译出现 internal compiler error: Killed 2013/05/11 BY 虚伪的灵魂· internal compiler error: Killed ...
  • qq_29573053
  • qq_29573053
  • 2017年04月08日 11:12
  • 2231

遭遇 VC++2013 fatal error C1001,以及解决方法

今天在使用VC++2013编译的时候遇到fatal error C1001报错,网上搜了一下,据说可能是编译器遇到无法编译的语法。 我昨天写了这样一段代码 enum clas TaskTargetTy...
  • zhangxxxx
  • zhangxxxx
  • 2016年09月01日 09:42
  • 1108

Boost安装出错, 遇到“编译器中发生内部错误”的解决方法

自己编译boost的库文件时遇到这个错误的,大概报错情况如下:  mp_defer.hpp:fatal error C1001:编译器中发生内部错误。  1> 要解决此问题,请尝试简化或更改上面所...
  • Alpine_Climbing
  • Alpine_Climbing
  • 2016年09月22日 11:58
  • 3228

vs2013遇到“编译器中发生内部错误”的解决方法

我是在自己编译boost的库文件时遇到这个错误的,大概报错情况如下: …fatal error C1001: 编译器中发生内部错误。 1> (编译器文件“f:\dd\vctools\compile...
  • liumaolincycle
  • liumaolincycle
  • 2016年07月21日 16:05
  • 7536

【VS开发】fatal error C1001:编译器中发生内部错误

自己编译boost的库文件时遇到这个错误的,大概报错情况如下:  mp_defer.hpp:fatal error C1001:编译器中发生内部错误。  1> 要解决此问题,请尝试简化或更改上面所...
  • LG1259156776
  • LG1259156776
  • 2017年01月05日 10:49
  • 2044
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:对于VC++报错:fatal error C1001: INTERNAL COMPILER ERROR
举报原因:
原因补充:

(最多只允许输入30个字)