FreeOrion Windows SDK

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

Moderator: Committer

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

Re: FreeOrion Windows SDK

#16 Post by Geoff the Medio »

I have updated the FreeOrion SDK for MSVS 2010. It's still available here:

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

This version should hopefully not have the wrap_oal.dll problems of the previous version, though I can't test for that myself so I can't be sure.

I'd appreciate feedback if anyone else tries out the SDK.

The steps for use are:

* Download and unzip the FreeOrion MSVC 2010 SDK.

* Within the SDK directory, SVN update to the lastest revision of FreeOrion (which will automatically update to the latest GG).

* Open the msvc2010 .sln file.

* Build Solution.

* Run FreeOrion.exe

sjolley
Space Krill
Posts: 8
Joined: Fri Feb 24, 2012 3:49 am

Re: FreeOrion Windows SDK

#17 Post by sjolley »

I downloaded the Windows SDK, I then used tortoiseSVN to export the source. But, I am getting the below error. Where should boost be in the directory sturcture to be found?
\Users\sjolley\Documents\FreeOrion Code\FreeOrion\trunk\FreeOrion\GG\GG/Base.h(45): fatal error C1083: Cannot open include file: 'boost/cstdint.hpp': No such file or directory
1> DynamicGraphic.cpp

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

Re: FreeOrion Windows SDK

#18 Post by Geoff the Medio »

sjolley wrote:I then used tortoiseSVN to export the source.
I don't not understand what you mean by that. You do not need to use any SVN "export" command; just SVN "Update", possibly after "SVN Upgrade Working Copy" (if your version of the SVN client requires it).
But, I am getting the below error.
Getting the error how and when? What did you try to do?
Where should boost be in the directory sturcture to be found?
The SDK contains a "Boost" directory that has all the boost headers and .lib files in it (in their respective subdirectories).

sjolley
Space Krill
Posts: 8
Joined: Fri Feb 24, 2012 3:49 am

Re: FreeOrion Windows SDK

#19 Post by sjolley »

I don't not understand what you mean by that. You do not need to use any SVN "export" command; just SVN "Update", possibly after "SVN Upgrade Working Copy" (if your version of the SVN client requires it).
On TortoiseSVN the commands are either import to upload your code changes to the SVN repository, or export to download the code to your PC. Not sure if I am picking the correct directory in the SDK to do the export. I am picking the top level SDK directory. I don't see an update/upgrade command in TortoiseSVN.
Getting the error how and when? What did you try to do?
When I request that MSVC 2010 do a build on the project located in the directory FreeOrion/trunk/FreeOrion/msvc2010/FreeOrion.sln; I get the error message.
The SDK contains a "Boost" directory that has all the boost headers and .lib files in it (in their respective subdirectories).
Yes, I can see the boost directory and the files, but I still get an error message on in the SDK. What I can't figure out is how to tell the MSVC project where to find the boost files. Maybe i am just too green at doing compiles in MSVC to know how to point it to them. Maybe I didn't do the SVN download (export) into the right SDK directory. I am just looking for someone who has done the complie in MSVC2010 with TortioseSVN successfully to suggest what I am doing wrong.

Thanks,

Stephen

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

Re: FreeOrion Windows SDK

#20 Post by Geoff the Medio »

sjolley wrote:On TortoiseSVN the commands are either import to upload your code changes to the SVN repository, or export to download the code to your PC. Not sure if I am picking the correct directory in the SDK to do the export. I am picking the top level SDK directory. I don't see an update/upgrade command in TortoiseSVN.
You need to update the "FreeOrion" directory. There should be no "trunk" directory in your tree.

Your other problems are probably because you're trying to build FreeOrion without having updated that directory properly, so the solution and project files aren't in the place they're expecting to be, so can't find the headers it needs relative to its actual location. If things are in the right place, you should just need to build solution.

yandonman
Creative Contributor
Posts: 699
Joined: Thu Aug 30, 2012 12:32 am

Re: FreeOrion Windows SDK

#21 Post by yandonman »

SDK updated to boost 1.50?
Code released under GPL 2.0. Content released under GPL 2.0 and Creative Commons Attribution-ShareAlike 3.0.

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

Re: FreeOrion Windows SDK

#22 Post by Geoff the Medio »

yandonman wrote:SDK updated to boost 1.50?
Boost 1.51, Ogre3D 1.8, and Python 2.7.3.

User avatar
Vezzra
Release Manager, Design
Posts: 6090
Joined: Wed Nov 16, 2011 12:56 pm
Location: Sol III

Re: FreeOrion Windows SDK

#23 Post by Vezzra »

Geoff, when I tried to enhance the process of auto-generating the NSIS installer script today (so it can be used both with the MSVC 2010 and 2013 SDK), I noticed some differences beside different boost version used in the two SDKs.

The MSVC 2013 SDK doesn't contain jpeg.dll, wrap_oal.dll and zlib1.dll anymore, but has z.dll and zlib.dll instead, which are not in the MSVC 2010 SDK. Do the MSVC 2010 and 2013 projects really have different dependencies? If yes, can we adjust the MSVC 2010 project dependencies to be the same as for the MSVC 2013 project, at least for these libraries? The different boost library version I can handle via the make_versioncpp.py script, but not the rest.

I'd like to be able to use the NSIS installer script independently of which version of MSVC has been used to build the binaries, without having to provide two different input templates if possible.

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

Re: FreeOrion Windows SDK

#24 Post by Geoff the Medio »

Vezzra wrote:Do the MSVC 2010 and 2013 projects really have different dependencies?
Not inherently, but for OpenAL, I built it myself from openalsoft instead of using the somewhat-buggy Creative build, and because the Creative site was apparently down when I was trying to do this. The lack of the jpeg.dll I think was due to not using Ogre anymore. Try running the MSVC build without it present and after removing it from the project files... it probably will work. I don't really know what the situation is with the zlib dlls. The ones in the MSVC 2013 SDK are the ones I got when building it and, I think, when building boost. Probably the two sets of dependencies could be made the same by building them all in MSVC 2010 as well.

User avatar
adrian_broher
Programmer
Posts: 1156
Joined: Fri Mar 01, 2013 9:52 am
Location: Germany

Re: FreeOrion Windows SDK

#25 Post by adrian_broher »

Geoff the Medio wrote: and because the Creative site was apparently down when I was trying to do this.
The create openal page is down for serveral years now. I wouldn't bother with it anymore.
Resident code gremlin
Attached patches are released under GPL 2.0 or later.
Git author: Marcel Metz

User avatar
Vezzra
Release Manager, Design
Posts: 6090
Joined: Wed Nov 16, 2011 12:56 pm
Location: Sol III

Re: FreeOrion Windows SDK

#26 Post by Vezzra »

Geoff the Medio wrote:Probably the two sets of dependencies could be made the same by building them all in MSVC 2010 as well.
Ugh. Can I leave that to you? The problem with my Windows dev environment for FO is, it's horribly slow, performance is a major pain. Building FO once a week is managable, but even that only because it's not a full rebuild each time. This is done on a VM that runs on my Mac, which I need for all my other work too, and while I'm building FO for Windows (which takes ages), my Mac slows down so much that I can't do much else on the system. Then I can't even test the builds on this VM, because it lacks the graphics driver needed to run FO. I need to copy them to my old XP rig (which can run FO, but not build it), install and test it.

As you can see, doing any FO related dev work (and related testing) on Windows is a major PITA for me.

What I've been able to do is a major rewrite of the make_versioncpp.py script, it's now even more flexible in determining the DLLs that are needed for the installer package for Windows. It searches the sdk root/FreeOrion directory for all dll files contained there, then picks all boost dlls FO requires (using a hard coded list) as well as all none boost dlls and adds them to the NSIS installer script.

With that I was finally able to produce a installer package with binaries built with MSVC 2013. I tested that package on my XP machine, installing was no problem, but I could not run the executable. I got the error message that FreeOrion.exe is not a valid Win32 executable. At that point I gave up. I checked the build configuration, and AFAICT it's set to build 32bit executables. Any idea what's the problem here?

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

Re: FreeOrion Windows SDK

#27 Post by Geoff the Medio »

Vezzra wrote:Any idea what's the problem here?
In project configuration properties, general, you might need to set the platform toolset to the special XP compatibility mode (2nd in my list).

User avatar
Vezzra
Release Manager, Design
Posts: 6090
Joined: Wed Nov 16, 2011 12:56 pm
Location: Sol III

Re: FreeOrion Windows SDK

#28 Post by Vezzra »

Geoff the Medio wrote:In project configuration properties, general, you might need to set the platform toolset to the special XP compatibility mode (2nd in my list).
This gives my a recurring build error:

Code: Select all

Error	160	error C1083: Cannot open include file: 'winapifamily.h': No such file or directory (..\..\client\human\chmain.cpp)	q:\fo\src\include\sdl2\SDL_platform.h	121	1	FreeOrion
Error	167	error C1083: Cannot open include file: 'winapifamily.h': No such file or directory (..\..\client\human\HumanClientApp.cpp)	q:\fo\src\include\sdl2\SDL_platform.h	121	1	FreeOrion
Error	170	error C1083: Cannot open include file: 'winapifamily.h': No such file or directory (..\..\client\human\HumanClientFSM.cpp)	q:\fo\src\include\sdl2\SDL_platform.h	121	1	FreeOrion
Error	177	error C1083: Cannot open include file: 'winapifamily.h': No such file or directory (..\..\UI\BuildingsPanel.cpp)	q:\fo\src\include\sdl2\SDL_platform.h	121	1	FreeOrion
Error	180	error C1083: Cannot open include file: 'winapifamily.h': No such file or directory (..\..\UI\BuildDesignatorWnd.cpp)	q:\fo\src\include\sdl2\SDL_platform.h	121	1	FreeOrion
Error	183	error C1083: Cannot open include file: 'winapifamily.h': No such file or directory (..\..\UI\ChatWnd.cpp)	q:\fo\src\include\sdl2\SDL_platform.h	121	1	FreeOrion
Error	196	error C1083: Cannot open include file: 'winapifamily.h': No such file or directory (..\..\UI\CombatReport\CombatLogWnd.cpp)	q:\fo\src\include\sdl2\SDL_platform.h	121	1	FreeOrion
Error	203	error C1083: Cannot open include file: 'winapifamily.h': No such file or directory (..\..\UI\ClientUI.cpp)	q:\fo\src\include\sdl2\SDL_platform.h	121	1	FreeOrion
Error	210	error C1083: Cannot open include file: 'winapifamily.h': No such file or directory (..\..\UI\CUIControls.cpp)	q:\fo\src\include\sdl2\SDL_platform.h	121	1	FreeOrion
Error	215	error C1083: Cannot open include file: 'winapifamily.h': No such file or directory (..\..\UI\CUIWnd.cpp)	q:\fo\src\include\sdl2\SDL_platform.h	121	1	FreeOrion
Error	218	error C1083: Cannot open include file: 'winapifamily.h': No such file or directory (..\..\UI\DesignWnd.cpp)	q:\fo\src\include\sdl2\SDL_platform.h	121	1	FreeOrion
Error	223	error C1083: Cannot open include file: 'winapifamily.h': No such file or directory (..\..\UI\EncyclopediaDetailPanel.cpp)	q:\fo\src\include\sdl2\SDL_platform.h	121	1	FreeOrion
Error	226	error C1083: Cannot open include file: 'winapifamily.h': No such file or directory (..\..\UI\FleetButton.cpp)	q:\fo\src\include\sdl2\SDL_platform.h	121	1	FreeOrion
Error	229	error C1083: Cannot open include file: 'winapifamily.h': No such file or directory (..\..\UI\FleetWnd.cpp)	q:\fo\src\include\sdl2\SDL_platform.h	121	1	FreeOrion
Error	232	error C1083: Cannot open include file: 'winapifamily.h': No such file or directory (..\..\UI\GalaxySetupWnd.cpp)	q:\fo\src\include\sdl2\SDL_platform.h	121	1	FreeOrion
Error	243	error C1083: Cannot open include file: 'winapifamily.h': No such file or directory (..\..\UI\IntroScreen.cpp)	q:\fo\src\include\sdl2\SDL_platform.h	121	1	FreeOrion
Error	248	error C1083: Cannot open include file: 'winapifamily.h': No such file or directory (..\..\UI\InGameMenu.cpp)	q:\fo\src\include\sdl2\SDL_platform.h	121	1	FreeOrion
Error	253	error C1083: Cannot open include file: 'winapifamily.h': No such file or directory (..\..\UI\MapWnd.cpp)	q:\fo\src\include\sdl2\SDL_platform.h	121	1	FreeOrion
Error	256	error C1083: Cannot open include file: 'winapifamily.h': No such file or directory (..\..\UI\MilitaryPanel.cpp)	q:\fo\src\include\sdl2\SDL_platform.h	121	1	FreeOrion
Error	261	error C1083: Cannot open include file: 'winapifamily.h': No such file or directory (..\..\UI\MeterBrowseWnd.cpp)	q:\fo\src\include\sdl2\SDL_platform.h	121	1	FreeOrion
Error	264	error C1083: Cannot open include file: 'winapifamily.h': No such file or directory (..\..\UI\MultiIconValueIndicator.cpp)	q:\fo\src\include\sdl2\SDL_platform.h	121	1	FreeOrion
Error	267	error C1083: Cannot open include file: 'winapifamily.h': No such file or directory (..\..\UI\MultiMeterStatusBar.cpp)	q:\fo\src\include\sdl2\SDL_platform.h	121	1	FreeOrion
Error	270	error C1083: Cannot open include file: 'winapifamily.h': No such file or directory (..\..\UI\MultiplayerLobbyWnd.cpp)	q:\fo\src\include\sdl2\SDL_platform.h	121	1	FreeOrion
Error	275	error C1083: Cannot open include file: 'winapifamily.h': No such file or directory (..\..\UI\ObjectListWnd.cpp)	q:\fo\src\include\sdl2\SDL_platform.h	121	1	FreeOrion
Error	278	error C1083: Cannot open include file: 'winapifamily.h': No such file or directory (..\..\UI\OptionsWnd.cpp)	q:\fo\src\include\sdl2\SDL_platform.h	121	1	FreeOrion
Error	281	error C1083: Cannot open include file: 'winapifamily.h': No such file or directory (..\..\UI\PlayerListWnd.cpp)	q:\fo\src\include\sdl2\SDL_platform.h	121	1	FreeOrion
Error	284	error C1083: Cannot open include file: 'winapifamily.h': No such file or directory (..\..\UI\PopulationPanel.cpp)	q:\fo\src\include\sdl2\SDL_platform.h	121	1	FreeOrion
Error	287	error C1083: Cannot open include file: 'winapifamily.h': No such file or directory (..\..\UI\ProductionWnd.cpp)	q:\fo\src\include\sdl2\SDL_platform.h	121	1	FreeOrion
Error	288	error C1083: Cannot open include file: 'winapifamily.h': No such file or directory (..\..\UI\ResourcePanel.cpp)	q:\fo\src\include\sdl2\SDL_platform.h	121	1	FreeOrion
Error	291	error C1083: Cannot open include file: 'winapifamily.h': No such file or directory (..\..\UI\ResearchWnd.cpp)	q:\fo\src\include\sdl2\SDL_platform.h	121	1	FreeOrion
Error	296	error C1083: Cannot open include file: 'winapifamily.h': No such file or directory (..\..\UI\SaveFileDialog.cpp)	q:\fo\src\include\sdl2\SDL_platform.h	121	1	FreeOrion
Error	299	error C1083: Cannot open include file: 'winapifamily.h': No such file or directory (..\..\UI\ServerConnectWnd.cpp)	q:\fo\src\include\sdl2\SDL_platform.h	121	1	FreeOrion
Error	304	error C1083: Cannot open include file: 'winapifamily.h': No such file or directory (..\..\UI\ShaderProgram.cpp)	q:\fo\src\include\sdl2\SDL_platform.h	121	1	FreeOrion
Error	307	error C1083: Cannot open include file: 'winapifamily.h': No such file or directory (..\..\UI\SitRepPanel.cpp)	q:\fo\src\include\sdl2\SDL_platform.h	121	1	FreeOrion
Error	312	error C1083: Cannot open include file: 'winapifamily.h': No such file or directory (..\..\UI\SpecialsPanel.cpp)	q:\fo\src\include\sdl2\SDL_platform.h	121	1	FreeOrion
Error	317	error C1083: Cannot open include file: 'winapifamily.h': No such file or directory (..\..\UI\SidePanel.cpp)	q:\fo\src\include\sdl2\SDL_platform.h	121	1	FreeOrion
Error	318	error C1083: Cannot open include file: 'winapifamily.h': No such file or directory (..\..\UI\SystemIcon.cpp)	q:\fo\src\include\sdl2\SDL_platform.h	121	1	FreeOrion
Error	321	error C1083: Cannot open include file: 'winapifamily.h': No such file or directory (..\..\UI\TechTreeArcs.cpp)	q:\fo\src\include\sdl2\SDL_platform.h	121	1	FreeOrion
Error	322	error C1083: Cannot open include file: 'winapifamily.h': No such file or directory (..\..\UI\SystemResourceSummaryBrowseWnd.cpp)	q:\fo\src\include\sdl2\SDL_platform.h	121	1	FreeOrion
Error	323	error C1083: Cannot open include file: 'winapifamily.h': No such file or directory (..\..\UI\TechTreeWnd.cpp)	q:\fo\src\include\sdl2\SDL_platform.h	121	1	FreeOrion

User avatar
adrian_broher
Programmer
Posts: 1156
Joined: Fri Mar 01, 2013 9:52 am
Location: Germany

Re: FreeOrion Windows SDK

#29 Post by adrian_broher »

Vezzra wrote:Cannot open include file: 'winapifamily.h': No such file or directory (..\..\client\human\chmain.cpp)
http://stackoverflow.com/questions/2244 ... codeblocks
Resident code gremlin
Attached patches are released under GPL 2.0 or later.
Git author: Marcel Metz

User avatar
Vezzra
Release Manager, Design
Posts: 6090
Joined: Wed Nov 16, 2011 12:56 pm
Location: Sol III

Re: FreeOrion Windows SDK

#30 Post by Vezzra »

Ugh. Now we not only need to patch boost, but SDL too?? This is getting ridiculous. What's up with all those libraries and their includes?

Anyway, at least the solution with commenting out those lines in SDL_platform.h worked. I've finally been able to produce an installer package with binaries build by MSVC 2013 that let me install and run FO on my old XP rig. Hooray! :D

@Geoff: The changes to the build configuration of the MSVC 2013 project should be committed. I just wanted to check back with you if that's ok?

Post Reply