FreeOrion Windows SDK

Programmers discuss here anything related to FreeOrion programming. Primarily for the developers to discuss.

Moderator: Committer

Message
Author
tzlaine
Programming Lead Emeritus
Posts: 1092
Joined: Thu Jun 26, 2003 1:33 pm

FreeOrion Windows SDK

#1 Post by tzlaine »

FO now has an SDK. It includes pre-built binaries for Windows ( MSVC 8 ) for all the FO dependencies, and has a full checkout of the FO and GG code that you can use and abuse. It is fully configured so that you should just be able to download and build with very few (or possibly no) modifications required. This is designed to be as simple as possible for people to use, since building all the dependencies has until now been a Herculean task. It also helps us to ensure that everyone is developing in the same environment as much as possible. You can get it from the SourceForge download page. Enjoy!

https://github.com/freeorion/freeorion-sdk/releases

[edited by Geoff the Medio to add hyperlink]
[edited by Vezzra to update link to SDK folder on SF]
[edited by Vezzra to update link to new SDK download location on github]

tzlaine
Programming Lead Emeritus
Posts: 1092
Joined: Thu Jun 26, 2003 1:33 pm

Re: FreeOrion Windows SDK

#2 Post by tzlaine »

The Win32 SDK has been updated with a new version of Boost, version 1.34. The requirement for the Python version was changed to 2.5 as well, so please download the SDK again and install Python 2.5 if you were using 2.4 previously. (Note that installing a new Python may require you to install a new SCons and update your system PATH environment variable accordingly.)

User avatar
Trilarion
Krill Swarm
Posts: 14
Joined: Mon Aug 04, 2008 2:33 pm
Location: Germany

Re: FreeOrion Windows SDK

#3 Post by Trilarion »

In the current SDK, there are too many outdated sourcefiles. I recommend to delete all sourcefiles in freelords_sdk/freelords/*, i.e. all files that are also in the svn (in a newer version). Also the boost_vc90_mt libraries for msvc 2008 could be added. If somebody tells me how to upload it, I could do it or provide somebody else who wants to do it with a detailed list of what to do. :)

Greetings Jan

User avatar
Geoff the Medio
Programming, Design, Admin
Posts: 13586
Joined: Wed Oct 08, 2003 1:33 am
Location: Munich

Re: FreeOrion Windows SDK

#4 Post by Geoff the Medio »

Trilarion wrote:all sourcefiles in freelords_sdk/freelords/*
Is that a typo, or are you posting on the wrong forums?

Removing files from the SDK that are in SVN would probably make sense, even if just to reduce the download times. The missing MSVC 2008 version of the boost library has been noted and is mentioned in compile instructions on the wiki, and it can be easily gotten from boost consulting.

The file will likely not get updated until tzlaine has some more free time. We don't give SVN write access until someone's been around somewhat longer than you, though I do appreciate the offer.

User avatar
Trilarion
Krill Swarm
Posts: 14
Joined: Mon Aug 04, 2008 2:33 pm
Location: Germany

Re: FreeOrion Windows SDK

#5 Post by Trilarion »

No thanks for that, just wanted to help and make things easier for other newbies like me.

Hope, it was okay to discuss things in announcement threads.

P.S.: Now I see. :lol: Oh yes, it was a typo. Freeorion and Freelords are so simple to mix... I wanted to speak about Freeorion of course. :oops: :)

User avatar
Geoff the Medio
Programming, Design, Admin
Posts: 13586
Joined: Wed Oct 08, 2003 1:33 am
Location: Munich

Re: FreeOrion Windows SDK

#6 Post by Geoff the Medio »

There appears to be an incompatibility between the versions of the libpng and zlib dlls and libs that are in the SDK that are built with MSVC 2005 and the MSVC 2008 compiler. This results in crashes when running FreeOrion built with MSVC 2008.

Building zlib and libpng with MSVC 2008 fixes the issue, but doing so is a bit tricky.

I've attached a slightly modified version of those libraries and .lib and .dll files built with MSVC 2008 that can be used to get Freeorion running if they replace those that come with the SDK as of this writing. To rebuild them yourself, all you should need to do is open the solution file in the lpng1234\projects\visualc71 directory, select the Release DLL configuration, and build solution.

Note that the SDK versions of the Boost libraries and dlls are also built with MSVC 2005, and you'll need to get newer versions to build FreeOrion with MSVC 2008. These can be downloaded pre-built from BoostPro Consulting.
Attachments
MSVC_2008_zlib_and_libpng.zip
MSVC 2008 built .lib and .dll files for libpng and zlib, with source used to build them. (reuploaded)
(1.21 MiB) Downloaded 453 times

Impaler
Creative Contributor
Posts: 1060
Joined: Sun Jun 29, 2003 12:40 am
Location: Tucson, Arizona USA

Re: FreeOrion Windows SDK

#7 Post by Impaler »

Thanks Geoff, I've now got the full compiling, running, not-crashing FO on my system.

User avatar
Geoff the Medio
Programming, Design, Admin
Posts: 13586
Joined: Wed Oct 08, 2003 1:33 am
Location: Munich

Re: FreeOrion Windows SDK

#8 Post by Geoff the Medio »

I've just finished uploading a new version of the FreeOrion Windows SDK to sourceforge.

This SDK updates the OGRE version to 1.7, the Boost version to 1.42, the FreeType2 version to 2.38 and includes Python 2.6.5. The MSVC project files in SVN (and the SDK) have been updated to use these new library versions.

I've never made a FreeOrion SDK before this, so I'd apprediate it if some / anyone could download and try it out. Is anything necessary to use the MSVC project files missing? Are things configured improperly? Does the resulting executable run?

BeTheCode
Space Krill
Posts: 1
Joined: Wed Aug 11, 2010 12:33 am

Re: FreeOrion Windows SDK

#9 Post by BeTheCode »

Downloaded the sdk, important to view readme for dev. environment setup notes. So far so good. Thanks.

User avatar
Geoff the Medio
Programming, Design, Admin
Posts: 13586
Joined: Wed Oct 08, 2003 1:33 am
Location: Munich

Re: FreeOrion Windows SDK

#10 Post by Geoff the Medio »

I've just uploaded a FreeOrion SDK for MSVS 2010. It's available here:

https://sourceforge.net/projects/freeor ... ion%20SDK/

This has all the dependencies needed to build FreeOrion and GG in the places that the MSVC 2010 project files in SVN expect. Most of the dependencies needed to be rebuilt with MSVC 2010, which has been done.

The above is true with the exception of the graphviz libraries. For a few reasons these have been omitted, which means that to build FreeOrion with these project files, it's necessary to patch TechTreeWnd.cpp first. There is a patch that can do that here:

viewtopic.php?p=44294#p44294

(I'm hoping / planning to remove graphviz completely, so that this patching step won't be necessary.)

Also of note is that I've changed a bit of how the SDK is packaged from the MSVS 2008 SDK: Now there is no FreeOrion or GiGi source code or data files in the SDK. This reduces the SDK size from over 300 MB to just 25 MB. To get the source code for FreeOrion and GiGi, SVN should be used. This isn't much of an inconvenience, since the old SDKs required you to update to SVN after downloading the SDK anyway. In practice, this change will reduce the amount of data that needs to be downloaded to get FreeOrion SVN building, since the code only needs to get downloaded once, instead of downloading an old version in the SDK and then updating it from SVN.

I'd like to hear if anyone has success or problems building FreeOrion with this new MSVS 2010 SDK. Please let me know if you try it.

TeddyBear
Space Krill
Posts: 3
Joined: Thu Feb 24, 2011 10:09 am
Location: Paris, France

Re: FreeOrion Windows SDK

#11 Post by TeddyBear »

On W7, when using SDK DLLs to run game after compiling, an error appears on wrap_oal.dll. This error appears : "This librairy is not made to run on Windows or has an error, please check bla bla bla..."

Workaround : I download wrap_oal.dll (version 2.2.0.5) on creative labs site and it works.

snv
Space Krill
Posts: 1
Joined: Mon Mar 14, 2011 1:30 am

Re: FreeOrion Windows SDK

#12 Post by snv »

First: Hello

I am just now running the first compile. (Getting lots of warnings in GG)
As someone just having his first look-around i am wondering what the different Freeorion projects inside the encompassing solution are. My guess is that those are the different major parts server, ai-client and interactive-client as outlined in http://www.freeorion.org/index.php/Programming
I guess it will get more confusing when i really dive in ;D

Edit:
Builds and runs without problems or patching

User avatar
Geoff the Medio
Programming, Design, Admin
Posts: 13586
Joined: Wed Oct 08, 2003 1:33 am
Location: Munich

Re: FreeOrion Windows SDK

#13 Post by Geoff the Medio »

snv wrote:...what the different Freeorion projects inside the encompassing solution are. My guess is that those are the different major parts server, ai-client and interactive-client as outlined in http://www.freeorion.org/index.php/Programming
That's correct; in the Windows SDK MSVC solution there are projects for the human client, ai client, and server (as well as projects for GG libraries).

aphenine
Space Floater
Posts: 23
Joined: Tue Oct 05, 2010 10:15 pm

Re: FreeOrion Windows SDK

#14 Post by aphenine »

I also successfully compiled the 2010 version on a Windows 7 platform and had the same problem as Teddy Bear.

Unlike Teddy Bear, I didn't get any message about the library but my game crashed before initialising. I traced the crash to the first default sound initialisation function. When Sound is constructed, it tries to create an OpenAL device. When it fails, it uses the OpenAL error message function to check why. However, this returns a null pointer which causes the logger to crash with an exception thrown deep within an ostringstream << function that is utterly unhelpful. Since the logger crashes, the error message never gets printed and the game crashes without any warning or message why. Should I open a bug on this?

P.S. Rather than replacing the wrap_oal.dll, I simply ran the Creative OpenAL installer from the website, which put new versions of the OpenAL libraries into my system directories. It's easier to Google than wrap_oal.dll and is available for download here: http://connect.creativelabs.com/openal/ ... Items.aspx

kupferdrache
Space Floater
Posts: 15
Joined: Mon Apr 25, 2011 6:32 am

Re: FreeOrion Windows SDK

#15 Post by kupferdrache »

yes, i would do so, i will test your tip, ist bad, if you can´t build on all systems, but why you can use the prebuild binaries without this problem to occoure.

Post Reply