Page 1 of 1

Building FreeOrion in Visual Studio From Scratch

Posted: Mon Jan 23, 2006 3:32 am
by tbullock
Hi again,

As I mentioned in my introduction I am working on a visual howto manual for configuring visual studio to build FreeOrion (almost) entirely from source. I have decided to use this thread as my worklog, however the actual data files will (until they are complete) live on my home webserver. The link to the document will be available at http://myvpn.game-host.org/freeorion.html. If you notice an error, please send me a PM (or even better and ICQ message which I will see much sooner) so I can correct it as soon as possible.

Whenever I update the document, I will also update this thread with a note to that extent.

Thanks,
-Ted Bullock

Update

Posted: Tue Jan 24, 2006 1:15 am
by tbullock
Hey there,

I updated the document to cover eXpat, FreeType and just started onto libjpeg.

Currently at 37 pages.

Enjoy!

-Ted Bullock

libjpeg

Posted: Tue Jan 24, 2006 6:11 am
by tbullock
Hey again,

I had a few problems with libjpeg not importing properly in VS2005, I don't know if this would have been a problem in VS2002/2003. However I converted the libjpeg makefile into a VS6 project file which can be imported into any subsequent version.

I am hosting the repackaged libjpeg zip file on my webserver (located in my house) http://myvpn.game-host.org/jpeg-6b-repackaged.zip.

For anybody following my document I suggest that you download this repackaged source just to save time and effort.

Another Update

Posted: Tue Jan 24, 2006 10:47 pm
by tbullock
Hello,

I finished the section on libjpeg, Log4cpp (including some workarounds) and have started on SDL.

Currently at 44 pages.

-Ted Bullock

Another Update - SDL, Little CMS and libpng

Posted: Sun Feb 05, 2006 11:26 pm
by tbullock
Greetings,

I finished adding sections on SDL, Little CMS and libpng.

Please enjoy responsibly.

Now at 55 pages.

Also now that FreeOrion is on SubVersion, I will have some updates to do. Also I have been re-thinking how do some of the sections, especially the boost, python and libjpeg sections (and libtiff section too but I haven't pulished that yet).

Update! Feeling productive I guess.

Posted: Mon Feb 06, 2006 5:26 am
by tbullock
Added libtiff and libmng

Also removed references to library dependancies in each of the higher level libraries as I was encountering some duplication of object code as two libraries with the same dependancy were merged into another higher level library.

Now at 66 pages.

Fun stuff, getting fairly close to completion too.

-Ted

Reworked for visual studio 2005 Express edition

Posted: Fri Feb 10, 2006 1:46 am
by tbullock
Since Visual Studio Express Edition (VS2005EE) is free until Nov 6, 2005 I have re-worked my manual to cover using it rather than one of the more robust versions.

Also updated to reflect change to Subversion

VS2005EE will install nicely next to other versions of visual studio.

Lastly, I am going to make all the dependancy libraries available on my website http://myvpn.game-host.org/freeorion.html in the future as part of a get started quick process.

Anyways, that's it from me for now.

-Ted

Added DevIL Image Libary

Posted: Wed Feb 22, 2006 5:00 am
by tbullock
I have added the DevIL image libary to the document. Also I have been working on the Graphviz library, however it is poorly organized and is difficult to work with.

Although the document does not refer to Graphviz yet, you can download a repackaged version of the graphviz library from my website.

(note I accidently posted this on the main programming forum page)

Posted: Sun Mar 05, 2006 5:25 am
by Geoff the Medio
Ted, due to some recent changes with FO (adding boost serialization), it doesn't compile with MSVC 2003 anymore, so I need to switch to MSVC 2005 Express. Unfortunately, I'm informed that MSVC 2005 Express uses irregular registry keys which SCons cannot find, so MSVC 2005 Express can't be used to compile GG with SCons... which is a problem because I need to compile GG and FO using the same version of MSVC, because each version of MSVC has to compile and use its own version of the Boost libraries, and mixing two versions of Boost in one program causes problems...

SO... if you could figure out the GG part of your guide, it would be quite useful, even for persons such as me with no interest in compiling everything from scratch. I realize you were asking about GG here and were waiting for noelte, but... I guess just don't give up please...? I'd rather not have to buy MSVC 2005, if I can avoid it, and having things be doable with a (temporarily) $-free compiler is probably in general.

Thanks...

Posted: Sun Mar 05, 2006 11:55 am
by noelte
Hmm, not sure yet if you need 2005. When building gg i ended up with trouble in PluginInterface regarding libltdl. Don't know how to go on at the moment. I will ask zach, i hope he can help. I have the impression, that GG at SVN isn't complete/valid.

Posted: Sun Mar 05, 2006 1:36 pm
by Geoff the Medio
This isn't a problem with GG; it's a problem with FO. MSVC 2003 can't compile the new serialization stuff from boost that was just added to FO. It dies, giving fatal error C1204: "compiler limit : internal structure overflow". This is a known bug with 2003. There is apparently a hotfix from Microsoft, but they won't let you download it easily... I already emailed, but they just gave me a phone number. So, I might give them a call at some point to see about getting it, but it's a rather big roadblock for anyone who wants to compile using MSVC 2003.

Posted: Sun Mar 05, 2006 4:05 pm
by noelte
Hmm, don't know, but i think i already compiled FO successfully. All three parts can't be linked becauseof the missing GiGi libs. So, to me, only libltdl prevents me from succeeding ....

Posted: Mon Mar 06, 2006 4:16 am
by tbullock
Ok, all I should need to finish this off is a fairly up to date file list for GG. Along with the various preprocessor flags needed to compile it in windows.

(Which files/directories go with each GG component project)

I notice that the GG root is now in the FreeOrion SVN database, so as long as the GG filestructure doesn't change drastically in the short term, then I should be able to get the document finished relatively quickly.

-Ted

Progress Update

Posted: Wed Mar 22, 2006 6:36 pm
by tbullock
Alright,

So I have a had a lot of progress in getting this together. Actually I got everything compiled again yesterday (this time with only minimal code duplication across binaries).

That said, it crashes as soon as I start the executable.

I will run it through the debugger later tonight to see why this is.

Anyhow, thought I would post this update.

Also, I will rework my document as soon as I get it all figured out on my end.

-Ted Bullock