none
编译时遇到"fatal error C1001: 编译器中发生内部错误 RRS feed

  • 问题

  • 编译时遇到

    1>e:\otplatform\src\otcore\otdatasource\MemoryRasterDataLayer.h(12) : fatal error C1001: 编译器中发生内部错误。
    1>(编译器文件“msc1.cpp”,第1393 行)
    1> 要解决此问题,请尝试简化或更改上面所列位置附近的程序。
    1>请选择Visual C++
    1>“帮助”菜单上的“技术支持”命令,或打开技术支持帮助文件来获得详细信息。


        然后再重新编译又通过了。老是遇到这种问题,感觉很烦。


        网上的一个答案是编译的错误时,可能就是程序的源码的格式和Visual Studio不符合才这样,你可以重新整理指定的代码行的格式,这样就可能会编译通过。

        我不明白什么叫重新整理指定的代码行的格式?怎么整理?难道是Alt+F8吗?

          编译环境是 VS C++ 2005 + sp1
       Win XP sp2

    前无古人,后无来者
    2009年3月31日 6:33

答案

全部回复

  • 尽量把#include写到.cpp文件中,并且尽量#include .h文件
    2009年3月31日 8:40
    版主
  • 尽量把#include写到.cpp文件中,并且尽量#include .h文件

          大虾,出错的原因是什么呢?为什么要这样做?

    前无古人,后无来者
    2009年3月31日 12:59
  • .h是个接口文件,通常用来定义函数原型,而函数具体定义放在.cpp(文件1)中,用户自己写的文件也放在.cpp(文件2)中,所以编译器编译时把#include包含的文件.cpp(文件1)包含进用户文件.cpp(文件2)中来。所以编程时将接口和实现分离能提高软件的重用性
    2009年4月3日 3:57
  • 这可能是如下情况:
    A.h文件包含在B.h文件中,B.h文件又包含了A.h文件,编译器堆栈溢出.
    或者是文件编码格式不对,最好把文件都用Unicode编码.


    Hello world
    2009年4月3日 13:09
    版主