我正在修改Firaxis的Civil 4核心游戏DLL。主机应用程序是使用VC7构建的,因此存在约束(未为主机EXE提供源)。

我一直在重写大量代码(着重于性能低下的问题和内存泄漏)。我最近在尝试修改代码以使用数组类而不是动态分配的二维数组时遇到内部编译器错误,我打算使用boost lib中的矩阵(Civ4已经在使用boost,所以为什么不呢?) 。

基本上,问题可归结为:如果包含“ boost / numeric / ublas / matrix.hpp”,则会遇到内部编译器错误C1204。

MSDN这样说:MSDN C1204
KB这样说:KB 883655

因此,我很好奇,是否可以在不应用KB / SP的情况下解决此错误,并显着降低代码的复杂性?

此外,由于不再“支持VC7”,是否有人拥有VC7 Service Pack的有效(支持)链接?

更新:
我没有安装VS2003;我只有VS2003工具包(即免费下载的编译器和SDK,没有完整的IDE)。

最佳答案

VS 2003 SP1中提供了KB 883655的修复程序:


VS 2003 SP1 Info
VS 2003 SP1 download

关于c++ - VC7.1 C1204内部编译器错误,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2656768/

10-13 00:33