**重点内容**Searching google with query string “compiler file ‘msc1.cpp’, line 1786” find the following
reference
http://owlnext.sourceforge.net/qa51.html
When template classes or template class header files are included in a precompiled header file, the compiler may generate the following error for files that use the precompiled header:
fatal error C1001: INTERNAL COMPILER ERROR
(compiler file 'msc1.cpp', line 1786)
-or-
fatal error C1001: INTERNAL COMPILER ERROR
(compiler file 'msc1.cpp', line 1188)*
This error occurs only on machines with the Windows 95 or Windows 98 operating system.
CAUSE
The compiler exceeds the allocated memory limit.
RESOLUTION
Use one of the following three suggested workarounds:
Use compiler switch /Zm#nn to increase the compiler’s heap memory allocation limit. The default value of #nn is 100 and the maximum value is 2000. Manually add this switch in Developer Studio: under the Project menu, click Setting, the click C/C++, then Project Options. Usually, a value of 1000 works.
NOTE: You may need to increase the system virtual memory to accommodate the increased #nn for /Zm. 工程| 设置 | “C/C++” | “工程选项"
-or-
Remove the template class header files from the precompiled header file.
-or-
Use "Automatic use of precompiled headers" (/YX switch), or, "Not using precompiled header."
Status
Microsoft has confirmed this to be a bug in the Microsoft products listed at the beginning of this article.
=================
Follow the first choice, add string [ /Zm”500” ] into Project Options.
It works
说了一大堆,感觉这个有用,罪恶的vc6,vs就没一点问题
将头文件的 #include<iostream> 改成 #include<iostream.h>
本文介绍了解决VC6编译器在使用预编译头文件时出现的内部编译错误C1001的方法。错误通常发生在包含模板类或模板类头文件的情况下,并仅在Windows 95或98系统上出现。提供了三种解决方案:增加编译器堆内存分配限制、从预编译头文件中移除模板类头文件以及使用自动预编译头文件。

158

被折叠的 条评论
为什么被折叠?



