Skip to main content

Posts

Showing posts from March, 2008

Solving pesky LNK4204 warnings...

So today I finally thought I had the entire build process worked out for the upgrade to VS 2008. Turns out I had one final little hurdle to overcome. After experiencing the mess of trying to integrate third-party libraries into my main base library, I decided to try creating a build hierarchy to significantly reduce build times and my base library project size.

Let me clarify what a build hierarchy is: Basically, I have a base library that I integrate with every software application I write. I've actually got pre-made projects set up that allow me to quickly roll out a new piece of software without wasting 30 minutes each time I go to write a quick little program. Occasionally I have need for a third-party library. Instead of dragging those VC++ projects into each and every solution so that the base library didn't break, I merged the solutions into one project. Yeah, after the fact, it turned out to be not one of my brighter ideas (it generally worked fine though but rebuilds w…

Sigh - library problems

One the third party libraries I occasionally use is called zlib. It offers rudimentary compression capabilities. My upgrade to VS 2008 has been nothing but one headache after another. This latest headache was caused by the optional x86 MASM assembler module for zlib that drastically increases the performance of zlib. Hand-optimized assembler generally outperforms anything else but is tricky to get right in the first place.

Apparently, the optional zlib assembler integration module requires the now ancient and dead MASM32 assembler (remnants of Visual Studio 6 that I appear to have "migrated" to a later release of VS). This time around, VS 2008 includes its own version of MASM, which I didn't want to overwrite. So, the zlib build issued these errors:

inffas32.asm(594) : error A2070: invalid instruction operands
inffas32.asm(596) : error A2070: invalid instruction operands
inffas32.asm(610) : error A2070: invalid instruction operands
inffas32.asm(667) : error A2070: inva…

Sigh - crashes.

Lots of crashes. I just "upgraded" to Visual Studio 2008 Professional a couple weeks ago. I've been working my way slowly through this incredibly painful upgrade cycle. I knew it was going to be painful in advance, so I have segmented the upgrade to span about three weeks of effort. Let me journey my experience thus far:

1) The first step in this adventure was to uninstall VS 2003. That took a while but actually wasn't very painful.
2) I then attempted to install VS 2008 Pro out of the shiny new box. I didn't want to fiddle with the whole upgrade process so I went ahead and got the full version.
3) Then the installer froze while trying to install. In particular, it froze on attempting to install the 3.0 .NET Framework.
4) This is where things got...complicated. I went out to Microsoft Update and had to do a ton of upgrades (including the annoying spyware install of Windows Disadvantage). After many hours I finally got the 3.0 .NET Framework installed.
5) …