Compiling Quake Engine with VC++ Express?
IIRC the afxres.h thing is something to do with precompiled headers. Maybe you turn precompiled headers off, or maybe change afxres.h to winafx.h or something, sorry I'm digging crap out of a dusty old toilet here.
F. A. Špork, an enlightened nobleman and a great patron of art, had a stately Baroque spa complex built on the banks of the River Labe.
-
- Posts: 129
- Joined: Sun Jun 05, 2005 9:59 pm
A-ha! I've got it working!
It turns out that I had an unfinished open source afxres.h or something, that was clashing somewhat with the real afxres. So, if you ever get a similar problem when compiling your resource file, check this file out in a text editor to make sure it's the right one.
Next problem came from a missing libc.lib file. I found two versions of it in the platform SDK - AMD64 and IA64 versions - but neither of them are any good for a x86 target. Looking around the web, the original library is practically obsolete now (as of VS2005 it seems) and all the functionality has been moved into other files. Basically, it just needs to be added to the list of ignore libraries or, for a more permanent solution, a dummy version of it should be created. I've just opted for the former to get Quake running!
Anyway, hope this helps anybody else trying to use Express!
Additional: Further sucess stories - I've even managed to get the basic CleanSrc and ArqLite to compile, which seem like good starting points for a learner like me. The two share some code that VS Express doesn't seem to like, found in quakedef.h:
These four lines cause the compiler to throw out hundreds of warning files, then stop dead when it tries the two merge parts. Comment these out, and everything seems to compile nicely. Now I'm roaring along, so much so that I've already added some much-needed 1920x1200 support!
It turns out that I had an unfinished open source afxres.h or something, that was clashing somewhat with the real afxres. So, if you ever get a similar problem when compiling your resource file, check this file out in a text editor to make sure it's the right one.
Next problem came from a missing libc.lib file. I found two versions of it in the platform SDK - AMD64 and IA64 versions - but neither of them are any good for a x86 target. Looking around the web, the original library is practically obsolete now (as of VS2005 it seems) and all the functionality has been moved into other files. Basically, it just needs to be added to the list of ignore libraries or, for a more permanent solution, a dummy version of it should be created. I've just opted for the former to get Quake running!
Anyway, hope this helps anybody else trying to use Express!
Additional: Further sucess stories - I've even managed to get the basic CleanSrc and ArqLite to compile, which seem like good starting points for a learner like me. The two share some code that VS Express doesn't seem to like, found in quakedef.h:
Code: Select all
#pragma comment (linker,"/opt:nowin98")
#pragma comment (linker,"/merge:.text=.data")
#pragma comment (linker,"/merge:.reloc=.data")
#pragma comment (linker,"/ignore:4078")