sj04736 {l Wrote}:I'm trying to compile the SVN trunk, but I can't figure out VC++ 9. I'm more of a autotools kind of person (Linux).
*grin* VS us supposed to be easier, isn't it? Don't worry, I am usually an autotools person, too, and got it to work. And admittedly the instruction for a VS build are out of date.
So I've installed Visual C++ 2008 Express, I've downloaded all 1.8GB of the STK repo and opened the VC9 project,
That sounds like a minor problem - 1.8GB is way too much. Did you by chance check out the whole repo instead of just the trunk? You should use:
- {l Code}: {l Select All Code}
'
svn checkout https://supertuxkart.svn.sourceforge.net/svnroot/supertuxkart/main/trunk
Important is the main/trunk - otherwise you would get indeed the whole repository, and that would be huge indeed. For reference, my working directory (with compiled files!) is 625MB, and probably at least 20MB of 'other' stuff in there.
I've downloaded the Irrlicht 1.6 sources... and this is where I'm stuck. I suspect I'm missing all kinds of dependencies, but I have no idea where to look for the header files, or how to tell VC9 where to find them.
The VS project files are in irrlicht/source/Irrlicht. Open it (9.0), then modify IrrCompieConfig.h (unless you have the directx development files installed) to #undef _IRR_COMPILE_WITH_DIRECT3D_9_ and ... 3d_8_.
Then hit build, and you should be ready to go. Note that this will compile more renderer than necessary, but it doesn't hurt.
I'm only going to ask two questions, because from those two questions, I hope that I should be able to figure out the rest on my own.
1- How do I tell VC9 where to find irrlicht.h that trunk requires? Looking at the project file in a text editor, it looks like I have to change "Additional Include Directories" somewhere, because right now, its set to a local path on hiker's machine. How do I do this from within the IDE?
In the 'solution explorer' right click on supertuxkart and select properties. In the "C/C++ General" tab there is a 'Additional include directories' section - modify the entry for irrlicht-1.6.Same for the Linker General section:"Additional Library Directories".
...
Dang, and why do I only now see the additional edits further down?? Stupid me.
...
2- Where do I find the GL/*.h header files? I suppose I have to tell VC9 where to find them, and I doubt windows includes them.
This is one of those days I wish Windows had a single software repository
EDIT: I figured out the irrlicht.h problem, now I just need the rest of the dependencies
EDIT2: Looks like gl.h and glu.h are included, but they're from 1996... I guess I'd better start looking for newer header files.
EDIT3: Figured out one problem: Even though WIN32 is defined in the preprocessor defines, it isn't picking it up... Win64 isn't defined either. If I change all of the WIN32s to _WIN32, then compilation gets much further.
That sounds similar to a problem I was made aware of yesterday: on 64-bit windows bullet does not include windows.h, which then causes including the GL files to fail. Can you post some details? Are you using 64 bit, and which files are the problem, what error messages do you get? If it's the same 64-bit bullet problem, we'll fix this by adding WIN64 #ifdefs (though you write it's not defined - so perhaps it's a different issue?). So more details please (or a patch
).
Not entirely sure about changing WIN32 to _WIN32 - afaik one comes from the compiler, the other from the SDK - no idea what happens if we change the define on a 64 bit machine, and I can't easily test this myself.
EDIT4: I should probably have done this alreay, but it looks like if you don't set STK_LIBS, then it tries to include WIN32 rather than define it.
I can't see how this could happen, but I might be missing something.
I was about to mention this anyway: you have to define two environment variables: STK_INCLUDE and STK_LIBS to point to the include and lib directories with all other dependencies (don't forget to restart VS after setting those). If you have problems with the dependency, let me know - I always wanted to put a dependency package online, I just need someone gently pushing me.
I am not sure what kind of help you still need, and what your current problems exactly are - sounds like you have solved most/all (?)
Cheers,
Joerg
Edit: Should mention that I will improve the docs once we have the alpha release ready.