tags:

views:

59

answers:

1

I'm working on modifying Firaxis' Civilization 4 core game DLL. The host application is built using VC7, hence the constraint (source not provided for the host EXE).

I've been working on rewriting a large chunk of the code (focusing on low-hanging performance issues & memory leaks). I recently ran into an internal compiler error when trying to mod the code to use an array class instead of dynamically allocated 2-d arrays, I was going to use matrices from the boost lib (Civ4 is already using boost, so why not?).

Basically, the issue comes down to: if I include "boost/numeric/ublas/matrix.hpp", I run into an internal compiler error C1204.

MSDN has this to say: MSDN C1204 KB has this to say: KB 883655

So, I'm curious, is it possible to solve this error without a KB/SP being applied and dramatically reducing the complexity of the code?

Additionally, as VC7 is no longer "supported", does anyone have a valid (supported) link for a VC7 service pack?

Update: I do not have VS2003 installed; I only have the VS2003 toolkit (i.e. the freely downloaded compiler & SDK, not the full IDE).

+1  A: 

The fix for KB 883655 is available in VS 2003 SP1:

Michael Burr
Sorry, could have clarified, I don't have VS 2003, only the toolkit, so the VS2003 SP1 doesn't work.
Nathan Ernst
Ouch - depending on how much work you're willing to put into it (plus the fact that I have no idea if it'll really work), you might be able to pull the files mentioned in the KB article out of the SP1 installer. Search for "orca.exe" for a tool that might help open up the MSI (which you might have to extract out of a self-extracting .cab file first).
Michael Burr
Thanks. I happen to have taken the week off, so I've time to burn.
Nathan Ernst
Michael, I wasn't able to use orca.exe to open up the VS2003 SP1 installer (apparently it doesn't use MSI). I tried opening up the temp files the installer dropped, but none of those worked, either. I ended up working around the problem with some code changes.
Nathan Ernst