您的位置:首页 > 其它

遭遇 C1001: INTERNAL COMPILER ERROR

2010-08-04 12:04 204 查看
为了兼容一款老产品,项目代码需要使用VS6.0编译静态库。因为使用VS6.0自己的STL有各种问题(包括不兼容标准),所以使用了STLport来替代。看着一个个文件编译下去感觉很清爽,没想到中途遭遇了 C1001: INTERNAL COMPILER ERROR。错误提示如下:

D:/DEVELOPMENT TOOLS/MICROSOFT VISUAL STUDIO/STLPORT-5.2.1/STLPORT-5.2.1/STLPORT/stl/_stream_iterator.h(68) : 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.

google之,有称升级sp6的(已经升级过),有称使用/Zm加大编译器使用内存的,有称修改预编译头文件设置的(我这里没有用预编译头文件),有称模板和virtual语法等引起问题的。根据如此种种进行试验,均失败告终,沮丧之余看到一片文章提到类似错误报在boost的头文件,最后是改变引入头文件顺序解决的,所以试了下: 先一个个cpp进行编译,看具体是哪个cpp引起的,然后再逐条注释掉开头的#include语句,确定是哪个#include引起的问题后,直接把它放到#include头文件的最后一条去,问题居然解决了。

下面是这次遇到问题查找到的各种资料,一并提供给大家进行参考:

http://support.microsoft.com/kb/236935/zh-cn

http://support.microsoft.com/kb/226110

http://support.microsoft.com/kb/195738/zh-cn

最后在这里得到了启发

http://www.cppblog.com/hacrwang/articles/7258.html

顺便说一句,VS6.0对各种标准的支持真是差啊,毕竟是过时的东西,能用新版本最好别再继续用它了
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: