<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://springrts-wiki.p2004a.com/mediawiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Cranphin</id>
	<title>Spring - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://springrts-wiki.p2004a.com/mediawiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Cranphin"/>
	<link rel="alternate" type="text/html" href="https://springrts-wiki.p2004a.com/wiki/Special:Contributions/Cranphin"/>
	<updated>2026-11-08T20:38:36Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.43.11</generator>
	<entry>
		<id>https://springrts-wiki.p2004a.com/mediawiki/index.php?title=AI:Skirmish:List&amp;diff=1106</id>
		<title>AI:Skirmish:List</title>
		<link rel="alternate" type="text/html" href="https://springrts-wiki.p2004a.com/mediawiki/index.php?title=AI:Skirmish:List&amp;diff=1106"/>
		<updated>2015-03-14T13:21:27Z</updated>

		<summary type="html">&lt;p&gt;Cranphin: /* Under Active Development */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Main_Page|Main Page]] &amp;lt; AIs&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Basics about [[AI:Skirmish|Skirmish AIs]] in Spring.&lt;br /&gt;
&lt;br /&gt;
==== Under Active Development ====&lt;br /&gt;
Listed in alphabetical order.&lt;br /&gt;
&lt;br /&gt;
; &#039;&#039;&#039;[[AI:AAI|AAI]]&#039;&#039;&#039;     : &amp;lt;font color=&amp;quot;orange&amp;quot;&amp;gt;config-based&amp;lt;/font&amp;gt;, &amp;lt;font color=&amp;quot;#000000&amp;quot;&amp;gt;C++&amp;lt;/font&amp;gt;, uses learning techniques, by [[User:Submarine|Submarine]]&lt;br /&gt;
&lt;br /&gt;
; &#039;&#039;&#039;[[AI:BAI|BAI]]&#039;&#039;&#039;     : &amp;lt;font color=&amp;quot;#00AAFF&amp;quot;&amp;gt;config-less&amp;lt;/font&amp;gt;, &amp;lt;font color=&amp;quot;#00DDFF&amp;quot;&amp;gt;Java&amp;lt;/font&amp;gt;, BA only, by Petah&lt;br /&gt;
&lt;br /&gt;
; &#039;&#039;&#039;[[AI:BKPAI|BKPAI]]&#039;&#039;&#039; : &amp;lt;font color=&amp;quot;#00AAFF&amp;quot;&amp;gt;config-less&amp;lt;/font&amp;gt;, &amp;lt;font color=&amp;quot;#000000&amp;quot;&amp;gt;C++&amp;lt;/font&amp;gt;, Kernel Panic only, by Baczek&lt;br /&gt;
&lt;br /&gt;
; &#039;&#039;&#039;[[Spring_Tanks]]&#039; Borked Advancer&#039;&#039;&#039; : &amp;lt;font color=&amp;quot;#00AAFF&amp;quot;&amp;gt;config-less&amp;lt;/font&amp;gt;, &amp;lt;font color=&amp;quot;#000000&amp;quot;&amp;gt;Lua&amp;lt;/font&amp;gt;, Spring Tanks only, by knorke&lt;br /&gt;
(Spring Tanks included AI is hardly an &amp;quot;intelligence&amp;quot; but might be usefull if you want to look at an example of a very bare-bones Lua AI. The file is Gadgets\tpAIbork.lua)&lt;br /&gt;
&lt;br /&gt;
; &#039;&#039;&#039;[[AI:C.R.A.I.G.|C.R.A.I.G.]]&#039;&#039;&#039;     : &amp;lt;font color=&amp;quot;orange&amp;quot;&amp;gt;config-based&amp;lt;/font&amp;gt;, &amp;lt;font color=&amp;quot;yellow&amp;quot;&amp;gt;Lua&amp;lt;/font&amp;gt;, currently [http://spring1944.net/ Spring 1944] and [http://www.imperialwinter.com/ SWIW] only, by Tobi&lt;br /&gt;
&lt;br /&gt;
; &#039;&#039;&#039;[https://github.com/cranphin/crans-java-ai CransJavaAI]&#039;&#039;&#039; : &amp;lt;font color=&amp;quot;#00AAFF&amp;quot;&amp;gt;config-less&amp;lt;/font&amp;gt;, &amp;lt;font color=&amp;quot;#00DDFF&amp;quot;&amp;gt;Java&amp;lt;/font&amp;gt;, port of KAIK, by cranphin&lt;br /&gt;
&lt;br /&gt;
; &#039;&#039;&#039;[http://code.google.com/p/spring-djai/ DJAI]&#039;&#039;&#039; : &amp;lt;font color=&amp;quot;orange&amp;quot;&amp;gt;config-based&amp;lt;/font&amp;gt;, &amp;lt;font color=&amp;quot;#00DDFF&amp;quot;&amp;gt;Java&amp;lt;/font&amp;gt;, by DJ&lt;br /&gt;
&lt;br /&gt;
; &#039;&#039;&#039;[http://springrts.com/phpbb/viewtopic.php?f=15&amp;amp;t=19450 E323AI]&#039;&#039;&#039;  : &amp;lt;font color=&amp;quot;orange&amp;quot;&amp;gt;config-based&amp;lt;/font&amp;gt;, &amp;lt;font color=&amp;quot;#000000&amp;quot;&amp;gt;C++&amp;lt;/font&amp;gt;, plays XTA, BA &amp;amp;amp; BOTA by [http://springrts.com/phpbb/memberlist.php?mode=viewprofile&amp;amp;u=4131 Error323] &amp;amp;amp; [http://springrts.com/phpbb/memberlist.php?mode=viewprofile&amp;amp;u=6441 Simon Logic]&lt;br /&gt;
&lt;br /&gt;
; &#039;&#039;&#039;[[AI:HughAI|HughAI]]&#039;&#039;&#039; : &amp;lt;font color=&amp;quot;orange&amp;quot;&amp;gt;config-based&amp;lt;/font&amp;gt;, &amp;lt;font color=&amp;quot;#00DDFF&amp;quot;&amp;gt;Java&amp;lt;/font&amp;gt;, port of CSAI, by Hugh Perkins&lt;br /&gt;
&lt;br /&gt;
; &#039;&#039;&#039;[[AI:KAIK|KAIK]]&#039;&#039;&#039;   : &amp;lt;font color=&amp;quot;#00AAFF&amp;quot;&amp;gt;config-less&amp;lt;/font&amp;gt;, &amp;lt;font color=&amp;quot;#000000&amp;quot;&amp;gt;C++&amp;lt;/font&amp;gt;, best suited for *A mods, based on [[AI:KAI|KAI]] by Krogothe, now developed by [http://springrts.com/phpbb/memberlist.php?mode=viewprofile&amp;amp;u=3405 Kloot]&lt;br /&gt;
&lt;br /&gt;
; &#039;&#039;&#039;[http://springrts.com/phpbb/viewtopic.php?f=55&amp;amp;t=28259 NOE]&#039;&#039;&#039;   : &amp;lt;font color=&amp;quot;orange&amp;quot;&amp;gt;config-based&amp;lt;/font&amp;gt;, &amp;lt;font color=&amp;quot;yellow&amp;quot;&amp;gt;Lua&amp;lt;/font&amp;gt;, AI for NOTA, gadget AI ready to use, developed by [http://springrts.com/phpbb/memberlist.php?mode=viewprofile&amp;amp;u=9850 PepeAmpere]. Widget version planned. Small [http://code.google.com/p/nota/wiki/NOE_introduction manual on project Wiki].&lt;br /&gt;
&lt;br /&gt;
; &#039;&#039;&#039;[[AI:NTAI|NTai]]&#039;&#039;&#039;   : &amp;lt;font color=&amp;quot;orange&amp;quot;&amp;gt;config-based&amp;lt;/font&amp;gt;, &amp;lt;font color=&amp;quot;#000000&amp;quot;&amp;gt;C++&amp;lt;/font&amp;gt;, the longest running AI, currently non-functional, by [[User:AF|AF]]&lt;br /&gt;
&lt;br /&gt;
; &#039;&#039;&#039;[[AI:RAI|RAI]]&#039;&#039;&#039;     : &amp;lt;font color=&amp;quot;#00AAFF&amp;quot;&amp;gt;config-less&amp;lt;/font&amp;gt;, &amp;lt;font color=&amp;quot;#000000&amp;quot;&amp;gt;C++&amp;lt;/font&amp;gt;,  supports many mods due to its universality, by [http://springrts.com/phpbb/memberlist.php?mode=viewprofile&amp;amp;u=2771 Reth]&lt;br /&gt;
&lt;br /&gt;
; &#039;&#039;&#039;[[AI:Shard|Shard]]&#039;&#039;&#039;   : &amp;lt;font color=&amp;quot;orange&amp;quot;&amp;gt;config-based&amp;lt;/font&amp;gt;, &amp;lt;font color=&amp;quot;#000000&amp;quot;&amp;gt;C++&amp;lt;/font&amp;gt; &amp;amp; &amp;lt;font color=&amp;quot;yellow&amp;quot;&amp;gt;Lua&amp;lt;/font&amp;gt;, highly configurable/adjustable, by [[User:AF|AF]]&lt;br /&gt;
&lt;br /&gt;
==== Special ====&lt;br /&gt;
&lt;br /&gt;
; &#039;&#039;&#039;[[AI:NullAI|NullAI]]&#039;&#039;&#039;                    : C Test AI, does nothing&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
; &#039;&#039;&#039;[[AI:NullJavaAI|NullJavaAI]]&#039;&#039;&#039;            : basic Java Test AI, does nothing&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
; &#039;&#039;&#039;[[AI:NullLegacyCppAI|NullLegacyCppAI]]&#039;&#039;&#039;  : Legacy C++ Test AI, does nothing&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
; &#039;&#039;&#039;[[AI:NullOOJavaAI|NullOOJavaAI]]&#039;&#039;&#039;        : Java Test AI using the OO wrapper, does nothing&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== No Longer Under Development ====&lt;br /&gt;
None of these AIs will work with the current spring release version.&lt;br /&gt;
They are listed here, in case someone wants to take up development again,&lt;br /&gt;
and for code reference.&lt;br /&gt;
&lt;br /&gt;
; &#039;&#039;&#039;[[AI:AGAI|AGAI]]&#039;&#039;&#039;     : &amp;lt;font color=&amp;quot;#00AAFF&amp;quot;&amp;gt;config-less&amp;lt;/font&amp;gt;, &amp;lt;font color=&amp;quot;#00DDFF&amp;quot;&amp;gt;Java&amp;lt;/font&amp;gt;, by [[User:abma|abma]]&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
; &#039;&#039;&#039;[[AI:CSAI|CSAI]]&#039;&#039;&#039;   : C# AI, by Hugh Perkins&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
; &#039;&#039;&#039;[[AI:JAI|JAI]]&#039;&#039;&#039;     : first try at writing an AI in Java, by [[User:hoijui|hoijui]]&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
; &#039;&#039;&#039;[[AI:JCAI|JCAI]]&#039;&#039;&#039;   : by Zaphod&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
; &#039;&#039;&#039;[[AI:KAI|KAI]]&#039;&#039;&#039;     : by Krogothe&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
; &#039;&#039;&#039;[[AI:MyAI|MyAI]]&#039;&#039;&#039;   : An earlier AI, by Berion&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
; &#039;&#039;&#039;[[AI:OTAI|OTAI]]&#039;&#039;&#039;   : V1.13, An AI aimed at emulating the AI in OTA, by Veylon&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
; &#039;&#039;&#039;[[AI:QAI|QAI]]&#039;&#039;&#039;     : V2.42, A half finished AI, by Qman&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
; &#039;&#039;&#039;[[AI:SAI|SAI]]&#039;&#039;&#039;     : V0.15, by Spectre&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
; &#039;&#039;&#039;[[AI:TSI|TSI]]&#039;&#039;&#039;     : A Polish project, originally based on [[AI:SAI|SAI]]&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
; &#039;&#039;&#039;[[AI:TAI|TAI]]&#039;&#039;&#039;     : replaced by [[AI:NTAI|NTai]], by [[User:AF|AF]]&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
; &#039;&#039;&#039;[[AI:ZcAIn|ZcAIn]]&#039;&#039;&#039; : by Cain&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Planned For Development ====&lt;br /&gt;
; &#039;&#039;&#039;[[AI:Epic|Epic]]&#039;&#039;&#039;   : Next Gen AI, planned by [[User:AF|AF]]&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
; &#039;&#039;&#039;[[AI:GAI|GAI]]&#039;&#039;&#039;     : Groovy AI, planned by [[User:hoijui|hoijui]]&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
; &#039;&#039;&#039;[http://github.com/ato/clojai/tree/master ClojAI]&#039;&#039;&#039;  : Clojure AI, planned by ato&lt;br /&gt;
[[Category: AI]]&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;/div&gt;</summary>
		<author><name>Cranphin</name></author>
	</entry>
	<entry>
		<id>https://springrts-wiki.p2004a.com/mediawiki/index.php?title=Crans_Building_Spring_on_Windows_Log&amp;diff=5166</id>
		<title>Crans Building Spring on Windows Log</title>
		<link rel="alternate" type="text/html" href="https://springrts-wiki.p2004a.com/mediawiki/index.php?title=Crans_Building_Spring_on_Windows_Log&amp;diff=5166"/>
		<updated>2011-05-09T21:57:23Z</updated>

		<summary type="html">&lt;p&gt;Cranphin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;NOTE:&lt;br /&gt;
Learned much since, so need to redo.&lt;br /&gt;
* dos2unix.exe part of minglibs, but not picked up on clean install (it&#039;s called from a batch file expecting it in PATH, %MINGWLIBS%, or the third argument to the batch file, which isn&#039;t passed atm. Should have a find*.cmake file for that really). BUT, dos2unix is only used if git&#039;s core.autocrlf is set to false, so instead use:  core.safecrlf = false + core.autocrlf = true.&lt;br /&gt;
* TDM with dwarf2 is preferred over &#039;plain&#039; mingw, and has a properly working collect2.exe. Only there&#039;s a little naming thing then &#039;gcc-dw2&#039;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Right, the current building on windows with MinGW instructions for master seem outdated/broken/etc. :)&lt;br /&gt;
&lt;br /&gt;
Since the new MinGW versions, things have become easier and more reliable.&lt;br /&gt;
So to help others, I&#039;ll log here how I can make a working windows build from scratch.&lt;br /&gt;
&lt;br /&gt;
I know this initial page isn&#039;t well formatted, I&#039;ll leave that to when I feel like it, or someone else does. Right now it seems more important to have some working instructions.&lt;br /&gt;
&lt;br /&gt;
I can&#039;t test on anything other then my own system, which is Windows7, 64 bit.&lt;br /&gt;
The date of all this is April 30, 2011.&lt;br /&gt;
&lt;br /&gt;
Although this builds, and runs, you may have issues, since it is master. I certainly have some :) But since the buildbot windows builds have the same issues at the moment, I assume this is due to master having some issues, and not the build procedure.&lt;br /&gt;
&lt;br /&gt;
Keep in mind that these steps describe using the latest available versions of everything. Currently this works pretty well, and is by far the easiest. But this may certainly change in the future.&lt;br /&gt;
&lt;br /&gt;
Steps:&lt;br /&gt;
* For the Java AI bits, you&#039;ll want to have a 32 bit JDK installed, I&#039;m currently using jdk1.6.0_24. Things may build without, but I&#039;m doing a Java AI, so not gonna test without Java :)&lt;br /&gt;
* You&#039;ll need a working MinGW, this used to be a pain, but with recent updates this has become a lot better.&lt;br /&gt;
** Read the page on http://www.mingw.org/wiki/Getting_Started, just to get your bearings.&lt;br /&gt;
** Grab the lastest mingw-get-inst from http://sourceforge.net/projects/mingw/files/Automated%20MinGW%20Installer/mingw-get-inst. I&#039;m using mingw-get-inst-20110316.exe.&lt;br /&gt;
** Run the installer, choose to download the latest repository catalogues, accept the license&lt;br /&gt;
** I&#039;d recommend using the default install location of C:\MinGW, check if you didn&#039;t already have something there before installing :)&lt;br /&gt;
** Whether you create start menu folders/desktop links/etc. is up to you.&lt;br /&gt;
** From the available packages, select at least C++ compiler, adding MinGW Developer Toolkit works quite well, but is a rather big download. Not adding it means we need to add some more packages later.&lt;br /&gt;
** Now the installer will do it&#039;s work, this will take some time. I usually get some errors/warnings about files which couldn&#039;t be downloaded (sourceforge hickups I figure), but as far as I can tell it&#039;ll retry them.&lt;br /&gt;
** You&#039;ll need to add the bin sub folder where you installed MinGW to the PATH environment variable, most reading this will know what to do, otherwise the MinGW getting started page covers it well.&lt;br /&gt;
** If all went well, you should now have some working tools. Open a cmd.exe (windows command shell), and type &#039;g++ --version&#039;, this should tell you you&#039;ve now got a 4.5.2 or higher g++ compiler.&lt;br /&gt;
** Spring needs the dos2unix tool to build, which is not installed by default. Use the command &#039;mingw-get install cygutils-dos2unix&#039; to grab it.&lt;br /&gt;
** If you did not install the MinGW Developer Toolkit, you&#039;ll have to install mingw32-make, use: &#039;mingw-get install mingw32-make&#039;&lt;br /&gt;
** Because of a &#039;bug&#039; (See https://sourceforge.net/tracker/?func=detail&amp;amp;aid=3295175&amp;amp;group_id=2435&amp;amp;atid=102435), we&#039;ll have to replace the installed collect2.exe. Get the gcc-4.5.2-tdm-1-core.zip from: https://sourceforge.net/projects/tdm-gcc/files/TDM-GCC%204.5%20series/4.5.2-tdm-1%20SJLJ/ (or a newer version in the same location. These are TDM MinGW builds, alternative builds of MinGW, and he&#039;s got a fix in for this issue), unpack the zip file to a temporary location, and copy the contained libexec\gcc\mingw32\4.5.2\collect2.exe to C:\MinGW\libexec\gcc\mingw32\4.5.2 or similar, replacing the existing collect2.exe. Hopefully they&#039;ll do something with the bug report and fix this :)&lt;br /&gt;
* I&#039;m assuming you&#039;ll want to use git to get master, so you&#039;ll need the git client.&lt;br /&gt;
** Get the latest client from: http://code.google.com/p/msysgit/downloads/list Currently the most recent is &#039;Git-1.7.4-preview20110204.exe&#039;, detailing all the settings is a bit out of scope here, I have found that choosing for it to do no newline conversions tends to work the best with Spring :)&lt;br /&gt;
** We&#039;ll get the source now, start with &#039;git clone git://github.com/spring/spring.git&#039; This will create a &#039;spring&#039; folder in the folder you execute the command from. This spring folder will contain the source.&lt;br /&gt;
** If at a later time you want to update this source, go to the spring folder, and use &#039;git pull --rebase&#039;.&lt;br /&gt;
* Ok, we&#039;re nearly done, we now need the &#039;mingwlibs&#039;, our own collection of libraries and stuff needed to build on windows. Your best bet is to get it from https://github.com/spring/mingwlibs (which always is the most recent, we need the latest for master), it has a big Downloads button. Use that to get a zip, and put the zip&#039;s content under out spring folder, in a subfolder &#039;mingwlibs&#039;.&lt;br /&gt;
* Well, nearlyish, we need CMake now, get and install the latest from http://www.cmake.org/cmake/resources/software.html. 2.8.4 works fine for me atm.&lt;br /&gt;
* Now run cmake-ui (it should have put a icon on the desktop).&lt;br /&gt;
** Select the source folder, it&#039;s the spring folder you got with git.&lt;br /&gt;
** Choose a build folder, it doesn&#039;t have to exist yet, I use a &#039;build&#039; folder next to the &#039;spring&#039; folder.&lt;br /&gt;
** Hit the configure button. Use defaults in the generator dialog, which should be MinGW Makefiles, and use default native compilers.&lt;br /&gt;
** There&#039;s now lots of configuration values, luckily defaults work fine normally. The only change I&#039;d recommend is to change CMAKE_INSTALL_PREFIX to something like &#039;C:/Spring.master&#039; Windows7/VIsta do not like anyone changing stuff under the Program Files folder, so keep spring in the root of C: (or so) tends to prevent a lot of problems. If you&#039;ve changed anything, hit configure once more.&lt;br /&gt;
** Now hit generate, this should create all needed makefiles and stuff.&lt;br /&gt;
** If that went well, we&#039;re done with CMake, close it.&lt;br /&gt;
* Open a new cmd.exe, and go to the new &#039;build&#039; folder.&lt;br /&gt;
* Optionally, type &#039;set MAKE_COMMAND=mingw32-make -j2&#039;, if you have more then one core and want to try multi-processed building (it&#039;s faster).&lt;br /&gt;
* Cross your fingers and type &#039;mingw32-make install DESTDIR=C:\&#039; (the DESTDIR part will heed the &#039;CMAKE_INSTALL_PREFIX&#039; you set earlier).&lt;br /&gt;
&lt;br /&gt;
If things build well, one way to testing things is:&lt;br /&gt;
* Get the BA mod from: http://spring-portal.com/index.php/docman/doc_details/314-balanced-annihilation-v71&lt;br /&gt;
* Get and install abma&#039;s test &#039;game&#039; from: https://github.com/abma/spring-test-game (you want all contents as zip, the big download button). There&#039;s a README included.&lt;br /&gt;
* Now start spring.exe, pick a map of your liking, set the &#039;ai&#039; to Commanders (which only spawns an idle commander for each side), and pick the game/mod name &#039;Balanced Annihilation modtest-V7.31&#039; notice the &#039;modtest&#039; bit :)&lt;br /&gt;
&lt;br /&gt;
[[Category:Compiling]]&lt;/div&gt;</summary>
		<author><name>Cranphin</name></author>
	</entry>
	<entry>
		<id>https://springrts-wiki.p2004a.com/mediawiki/index.php?title=Building_Spring_on_Windows&amp;diff=3598</id>
		<title>Building Spring on Windows</title>
		<link rel="alternate" type="text/html" href="https://springrts-wiki.p2004a.com/mediawiki/index.php?title=Building_Spring_on_Windows&amp;diff=3598"/>
		<updated>2011-05-04T23:15:00Z</updated>

		<summary type="html">&lt;p&gt;Cranphin: /* TDM webinstaller */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Engine_Development|Development]] &amp;lt; [[Building_spring|Building Spring]] &amp;lt; {{FULLPAGENAME}}&lt;br /&gt;
{{#css:&lt;br /&gt;
  code * {margin:inherit;}&lt;br /&gt;
}}&lt;br /&gt;
= Get the Source Code =&lt;br /&gt;
{{Obtaining_The_Source_Code}}&lt;br /&gt;
&lt;br /&gt;
= Essential Tools and Libraries =&lt;br /&gt;
If you are new to programming for open-source projects on Windows you&#039;ll quickly discover it can often be difficult to find the right software and dependencies. To aid you in your journey you will find stable versions of most of the tools and libraries listed below on [http://www.warriorhut.org/spring this mirror]. Use them if you have trouble finding what you need below.&lt;br /&gt;
&lt;br /&gt;
If you have trouble opening any of the archives please install the application 7zip as it supports all of the archive formats in common use (it&#039;s in the tools/archiving subdirectory).&lt;br /&gt;
&lt;br /&gt;
= Compiling on Windows =&lt;br /&gt;
For other platforms see [[Building spring]].&lt;br /&gt;
&lt;br /&gt;
==Install MinGW==&lt;br /&gt;
Compiling Spring in MinGW requires GCC 4.x&amp;lt;br&amp;gt;&lt;br /&gt;
Because the official MinGW installer &amp;amp; packages are totally outdated and abandoned, we recommend to use the TDM ones instead:&lt;br /&gt;
&lt;br /&gt;
===TDM webinstaller===&lt;br /&gt;
Get it here: [http://tdm-gcc.tdragon.net/download TDM-MinGW] (download the webinstaller alias &amp;quot;On-Demand Installer&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
Get at least the following packages:&lt;br /&gt;
* gcc (version &amp;lt;u&amp;gt;dw2/dwarf2&amp;lt;/u&amp;gt;!)&lt;br /&gt;
** core&lt;br /&gt;
** g++&lt;br /&gt;
* binutils&lt;br /&gt;
* mingw-runtime&lt;br /&gt;
* win32api&lt;br /&gt;
&lt;br /&gt;
* gdb (recommended for debugging)&lt;br /&gt;
* openmp (optional)&lt;br /&gt;
&lt;br /&gt;
If you get &amp;lt;span class=warning&amp;gt;undefined ... _Unwind_Resume&amp;lt;/span&amp;gt; linking errors, deinstall &#039;&#039;whole&#039;&#039; TDM/MinGW and reinstall it with &#039;&#039;dwarf2&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
When using &#039;&#039;dwarf2&#039;&#039; as suggested, the compilers will be named abc-dw2. Rename (atleast) these two, or CMake will fail:&lt;br /&gt;
* &amp;quot;C:/MinGW32/bin/gcc-dw2.exe&amp;quot; to &amp;quot;gcc.exe&amp;quot;&lt;br /&gt;
* &amp;quot;C:/MinGW32/bin/g++-dw2.exe&amp;quot; to &amp;quot;g++.exe&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Since building Spring depends on the tool dos2unix, not provided by TDM, add cygutils-dos2unix from https://sourceforge.net/projects/mingw/files/MinGW/cygutils/, and libpopt(dll) from https://sourceforge.net/projects/mingw/files/MinGW/popt/&lt;br /&gt;
&lt;br /&gt;
==Spring MinGW Dependencies (mingwlibs)==&lt;br /&gt;
You also need some Spring dependencies, prepackaged in the &#039;&#039;&#039;mingwlibs&#039;&#039;&#039; archive.&lt;br /&gt;
&lt;br /&gt;
You can download a tarball [http://github.com/spring/mingwlibs &#039;&#039;&#039;here&#039;&#039;&#039;] (&#039;&#039;&#039;Download Source&#039;&#039;&#039; button).&amp;lt;br&amp;gt;&lt;br /&gt;
Or (recommended) use git:&lt;br /&gt;
* open a console (cmd.exe) or use git&#039;s bash (you find it in the right click context menu when clicking the folder), &amp;lt;code&amp;gt;cd&amp;lt;/code&amp;gt; into your source dir&lt;br /&gt;
* make a dir named mingwlibs&lt;br /&gt;
* &amp;lt;code&amp;gt;cd mingwlibs&amp;lt;/code&amp;gt;&lt;br /&gt;
* run &amp;lt;code&amp;gt;git clone git://github.com/spring/mingwlibs.git&amp;lt;/code&amp;gt;&lt;br /&gt;
* and update it from time to time with: &amp;lt;code&amp;gt;git pull --rebase&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===mingwlibs install directory===&lt;br /&gt;
There are two ways to setup the MinGW libraries:&lt;br /&gt;
&lt;br /&gt;
* Make sure you install the package in the checkout directory, so the path is: /spring/mingwlibs. If done right, it will look like:&lt;br /&gt;
** */spring/&lt;br /&gt;
** */spring/...&lt;br /&gt;
** */spring/mingwlibs&lt;br /&gt;
** */spring/rts&lt;br /&gt;
&lt;br /&gt;
* Install the package somewhere else (preferably outside of the source tree), and pass its location with the &#039;&#039;MINGDIR&#039;&#039; option to CMake in the configure step (see further down, in the quick instructions).&lt;br /&gt;
&lt;br /&gt;
= Compiling with cmake =&lt;br /&gt;
First get [http://www.cmake.org/cmake/resources/software.html CMake here] and install it.&lt;br /&gt;
&lt;br /&gt;
then&lt;br /&gt;
* run the &#039;&#039;cmake-gui&#039;&#039; and select a source and a build directory&lt;br /&gt;
* configure and follow the instructions, and adjust variables to your needs (defaults are OK)&lt;br /&gt;
* press &#039;&#039;&#039;Generate&#039;&#039;&#039;&lt;br /&gt;
* open a console (&#039;&#039;cmd.exe&#039;&#039;), &#039;&#039;cd&#039;&#039; into your build directory&lt;br /&gt;
* &#039;&#039;optional:&#039;&#039; for multi-threaded compilation, the &#039;&#039;mingw32-make&#039;&#039; part may differ on your system: &amp;lt;code&amp;gt;&#039;&#039;&amp;lt;pre&amp;gt;set MAKE_COMMAND=mingw32-make -j2&amp;lt;/pre&amp;gt;&#039;&#039;&amp;lt;/code&amp;gt;&lt;br /&gt;
* compile with: &amp;lt;code&amp;gt;&#039;&#039;&amp;lt;pre&amp;gt;mingw32-make install-spring&amp;lt;/pre&amp;gt;&#039;&#039;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Compiling with scons=&lt;br /&gt;
deprecated - use cmake&lt;br /&gt;
&lt;br /&gt;
=Visual Studio 8 (2005)=&lt;br /&gt;
(possibly the free Express Edition) &lt;br /&gt;
&lt;br /&gt;
* Install the [http://cloud.github.com/downloads/spring/spring/spring-vc8libs-v5.7z vclibs library package]. You need to install this in the /spring directory from the SVN checkout or the zipped source. If done right, it will look like:&lt;br /&gt;
**/spring/&lt;br /&gt;
**/spring/installer&lt;br /&gt;
**/spring/rts&lt;br /&gt;
**/spring/... other dirs&lt;br /&gt;
**/spring/vclibs&lt;br /&gt;
* Install the [http://msdn.microsoft.com/directx/sdk/ DirectX SDK]&lt;br /&gt;
* Install the PlatformSDK. I got away with unchecking the parts of the PlatformSDK that were obviously not related (IIS, web stuff). Makes for a smaller download. Make &#039;&#039;&#039;sure&#039;&#039;&#039; the Platform SDK and DirectX SDK are in the VS search/include directories.&lt;br /&gt;
** Note that the most recent version of Platform SDK is called [http://www.microsoft.com/downloads/details.aspx?FamilyID=c17ba869-9671-4330-a63e-1fd44e0e2505&amp;amp;displaylang=en Windows SDK].&lt;br /&gt;
* After installing them, open Visual C++. Click Tools &amp;gt;&amp;gt; Options &amp;gt;&amp;gt; Projects and Solutions &amp;gt;&amp;gt; VC++ Directories. Add these entries to the corresponding sections (paths just a reference, yours may be different):&lt;br /&gt;
**Include files:&lt;br /&gt;
***$(ProgramFiles)\Microsoft DirectX SDK (August 2007)\Include&lt;br /&gt;
***$(ProgramFiles)\Microsoft Platform SDK\include&lt;br /&gt;
**Library files:&lt;br /&gt;
***$(ProgramFiles)\Microsoft DirectX SDK (August 2007)\Lib\x86 (Might need \x64 on a 64-bit platform, I don&#039;t know.)&lt;br /&gt;
***$(ProgramFiles)\Microsoft Platform SDK\lib&lt;br /&gt;
* Open the solution. /spring/rts/build/vstudio8/rts.sln&lt;br /&gt;
* Start building (usually you want to select the release/no debug build, debug is really too slow and is used only when you really know what you want to test)&lt;br /&gt;
* Select the working directory in the project properties, otherwise spring will not work correctly&lt;br /&gt;
&lt;br /&gt;
== Errors ==&lt;br /&gt;
* &amp;lt;span class=warning&amp;gt;...\Windows\v6.0A\include\shlwapi.h(196) : error C2061: syntax error : identifier &#039;PCUITEMID_CHILD&#039;&amp;lt;/span&amp;gt; - wrong version of Platform SDK is used; go to Tools &amp;gt;&amp;gt; Options &amp;gt;&amp;gt; &amp;gt;&amp;gt; Projects and Solutions &amp;gt;&amp;gt; VC++ Directories and move the one that&#039;s causing this problem all the way down.&lt;br /&gt;
&lt;br /&gt;
=Visual Studio 9 (2008)=&lt;br /&gt;
(possibly the free Express Edition)&lt;br /&gt;
&lt;br /&gt;
Not yet fully working as far as I know; you need at least this hotfix from Microsoft though:&lt;br /&gt;
&lt;br /&gt;
http://support.microsoft.com/kb/946040&lt;br /&gt;
&lt;br /&gt;
or update your Visual Studio using your Windows Update.&lt;br /&gt;
&lt;br /&gt;
For the rest the Visual Studio 8 instructions should apply, mostly. You probably won&#039;t need to add Windows SDK path references as they should be present by default.&lt;br /&gt;
&lt;br /&gt;
You need the [http://cloud.github.com/downloads/spring/spring/spring-vc9libs-v4.7z vclibs for VS2008], and not the ones for Visual Studio 2005. The installation procedure is the same though.&lt;br /&gt;
&lt;br /&gt;
Be aware that the project file isn&#039;t updated nearly as frequently as it should, so it&#039;s best to use the .vcproj file from VS8 build and VS2008 will automatically update it.&lt;br /&gt;
&lt;br /&gt;
=General Visual Studio Notes=&lt;br /&gt;
So far the following aspects of Spring don&#039;t function properly or don&#039;t function at all when compiled with Visual Studio:&lt;br /&gt;
*Your VS build won&#039;t sync with GCC builds in multiplayer mode&lt;br /&gt;
*Any external AI crashes immediatley at start, LUA AI works though&lt;br /&gt;
[[Category:Compiling]]&lt;/div&gt;</summary>
		<author><name>Cranphin</name></author>
	</entry>
	<entry>
		<id>https://springrts-wiki.p2004a.com/mediawiki/index.php?title=Building_Spring_on_Windows&amp;diff=3597</id>
		<title>Building Spring on Windows</title>
		<link rel="alternate" type="text/html" href="https://springrts-wiki.p2004a.com/mediawiki/index.php?title=Building_Spring_on_Windows&amp;diff=3597"/>
		<updated>2011-05-04T23:12:31Z</updated>

		<summary type="html">&lt;p&gt;Cranphin: /* TDM webinstaller */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Engine_Development|Development]] &amp;lt; [[Building_spring|Building Spring]] &amp;lt; {{FULLPAGENAME}}&lt;br /&gt;
{{#css:&lt;br /&gt;
  code * {margin:inherit;}&lt;br /&gt;
}}&lt;br /&gt;
= Get the Source Code =&lt;br /&gt;
{{Obtaining_The_Source_Code}}&lt;br /&gt;
&lt;br /&gt;
= Essential Tools and Libraries =&lt;br /&gt;
If you are new to programming for open-source projects on Windows you&#039;ll quickly discover it can often be difficult to find the right software and dependencies. To aid you in your journey you will find stable versions of most of the tools and libraries listed below on [http://www.warriorhut.org/spring this mirror]. Use them if you have trouble finding what you need below.&lt;br /&gt;
&lt;br /&gt;
If you have trouble opening any of the archives please install the application 7zip as it supports all of the archive formats in common use (it&#039;s in the tools/archiving subdirectory).&lt;br /&gt;
&lt;br /&gt;
= Compiling on Windows =&lt;br /&gt;
For other platforms see [[Building spring]].&lt;br /&gt;
&lt;br /&gt;
==Install MinGW==&lt;br /&gt;
Compiling Spring in MinGW requires GCC 4.x&amp;lt;br&amp;gt;&lt;br /&gt;
Because the official MinGW installer &amp;amp; packages are totally outdated and abandoned, we recommend to use the TDM ones instead:&lt;br /&gt;
&lt;br /&gt;
===TDM webinstaller===&lt;br /&gt;
Get it here: [http://tdm-gcc.tdragon.net/download TDM-MinGW] (download the webinstaller alias &amp;quot;On-Demand Installer&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
Get at least the following packages:&lt;br /&gt;
* gcc (version &amp;lt;u&amp;gt;dw/dwarf2&amp;lt;/u&amp;gt;!)&lt;br /&gt;
** core&lt;br /&gt;
** g++&lt;br /&gt;
* binutils&lt;br /&gt;
* mingw-runtime&lt;br /&gt;
* win32api&lt;br /&gt;
&lt;br /&gt;
* gdb (recommended for debugging)&lt;br /&gt;
* openmp (optional)&lt;br /&gt;
&lt;br /&gt;
If you get &amp;lt;span class=warning&amp;gt;undefined ... _Unwind_Resume&amp;lt;/span&amp;gt; linking errors, deinstall &#039;&#039;whole&#039;&#039; TDM/MinGW and reinstall it with &#039;&#039;dwarf2&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
When using &#039;&#039;dwarf2&#039;&#039; as suggested, the compilers will be named abc-dw2. Rename (atleast) these two, or CMake will fail:&lt;br /&gt;
* &amp;quot;C:/MinGW32/bin/gcc-dw2.exe&amp;quot; to &amp;quot;gcc.exe&amp;quot;&lt;br /&gt;
* &amp;quot;C:/MinGW32/bin/g++-dw2.exe&amp;quot; to &amp;quot;g++.exe&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Since building Spring depends on the tool dos2unix, not provided by TDM, add cygutils-dos2unix from https://sourceforge.net/projects/mingw/files/MinGW/cygutils/, and libpopt(dll) from https://sourceforge.net/projects/mingw/files/MinGW/popt/&lt;br /&gt;
&lt;br /&gt;
==Spring MinGW Dependencies (mingwlibs)==&lt;br /&gt;
You also need some Spring dependencies, prepackaged in the &#039;&#039;&#039;mingwlibs&#039;&#039;&#039; archive.&lt;br /&gt;
&lt;br /&gt;
You can download a tarball [http://github.com/spring/mingwlibs &#039;&#039;&#039;here&#039;&#039;&#039;] (&#039;&#039;&#039;Download Source&#039;&#039;&#039; button).&amp;lt;br&amp;gt;&lt;br /&gt;
Or (recommended) use git:&lt;br /&gt;
* open a console (cmd.exe) or use git&#039;s bash (you find it in the right click context menu when clicking the folder), &amp;lt;code&amp;gt;cd&amp;lt;/code&amp;gt; into your source dir&lt;br /&gt;
* make a dir named mingwlibs&lt;br /&gt;
* &amp;lt;code&amp;gt;cd mingwlibs&amp;lt;/code&amp;gt;&lt;br /&gt;
* run &amp;lt;code&amp;gt;git clone git://github.com/spring/mingwlibs.git&amp;lt;/code&amp;gt;&lt;br /&gt;
* and update it from time to time with: &amp;lt;code&amp;gt;git pull --rebase&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===mingwlibs install directory===&lt;br /&gt;
There are two ways to setup the MinGW libraries:&lt;br /&gt;
&lt;br /&gt;
* Make sure you install the package in the checkout directory, so the path is: /spring/mingwlibs. If done right, it will look like:&lt;br /&gt;
** */spring/&lt;br /&gt;
** */spring/...&lt;br /&gt;
** */spring/mingwlibs&lt;br /&gt;
** */spring/rts&lt;br /&gt;
&lt;br /&gt;
* Install the package somewhere else (preferably outside of the source tree), and pass its location with the &#039;&#039;MINGDIR&#039;&#039; option to CMake in the configure step (see further down, in the quick instructions).&lt;br /&gt;
&lt;br /&gt;
= Compiling with cmake =&lt;br /&gt;
First get [http://www.cmake.org/cmake/resources/software.html CMake here] and install it.&lt;br /&gt;
&lt;br /&gt;
then&lt;br /&gt;
* run the &#039;&#039;cmake-gui&#039;&#039; and select a source and a build directory&lt;br /&gt;
* configure and follow the instructions, and adjust variables to your needs (defaults are OK)&lt;br /&gt;
* press &#039;&#039;&#039;Generate&#039;&#039;&#039;&lt;br /&gt;
* open a console (&#039;&#039;cmd.exe&#039;&#039;), &#039;&#039;cd&#039;&#039; into your build directory&lt;br /&gt;
* &#039;&#039;optional:&#039;&#039; for multi-threaded compilation, the &#039;&#039;mingw32-make&#039;&#039; part may differ on your system: &amp;lt;code&amp;gt;&#039;&#039;&amp;lt;pre&amp;gt;set MAKE_COMMAND=mingw32-make -j2&amp;lt;/pre&amp;gt;&#039;&#039;&amp;lt;/code&amp;gt;&lt;br /&gt;
* compile with: &amp;lt;code&amp;gt;&#039;&#039;&amp;lt;pre&amp;gt;mingw32-make install-spring&amp;lt;/pre&amp;gt;&#039;&#039;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Compiling with scons=&lt;br /&gt;
deprecated - use cmake&lt;br /&gt;
&lt;br /&gt;
=Visual Studio 8 (2005)=&lt;br /&gt;
(possibly the free Express Edition) &lt;br /&gt;
&lt;br /&gt;
* Install the [http://cloud.github.com/downloads/spring/spring/spring-vc8libs-v5.7z vclibs library package]. You need to install this in the /spring directory from the SVN checkout or the zipped source. If done right, it will look like:&lt;br /&gt;
**/spring/&lt;br /&gt;
**/spring/installer&lt;br /&gt;
**/spring/rts&lt;br /&gt;
**/spring/... other dirs&lt;br /&gt;
**/spring/vclibs&lt;br /&gt;
* Install the [http://msdn.microsoft.com/directx/sdk/ DirectX SDK]&lt;br /&gt;
* Install the PlatformSDK. I got away with unchecking the parts of the PlatformSDK that were obviously not related (IIS, web stuff). Makes for a smaller download. Make &#039;&#039;&#039;sure&#039;&#039;&#039; the Platform SDK and DirectX SDK are in the VS search/include directories.&lt;br /&gt;
** Note that the most recent version of Platform SDK is called [http://www.microsoft.com/downloads/details.aspx?FamilyID=c17ba869-9671-4330-a63e-1fd44e0e2505&amp;amp;displaylang=en Windows SDK].&lt;br /&gt;
* After installing them, open Visual C++. Click Tools &amp;gt;&amp;gt; Options &amp;gt;&amp;gt; Projects and Solutions &amp;gt;&amp;gt; VC++ Directories. Add these entries to the corresponding sections (paths just a reference, yours may be different):&lt;br /&gt;
**Include files:&lt;br /&gt;
***$(ProgramFiles)\Microsoft DirectX SDK (August 2007)\Include&lt;br /&gt;
***$(ProgramFiles)\Microsoft Platform SDK\include&lt;br /&gt;
**Library files:&lt;br /&gt;
***$(ProgramFiles)\Microsoft DirectX SDK (August 2007)\Lib\x86 (Might need \x64 on a 64-bit platform, I don&#039;t know.)&lt;br /&gt;
***$(ProgramFiles)\Microsoft Platform SDK\lib&lt;br /&gt;
* Open the solution. /spring/rts/build/vstudio8/rts.sln&lt;br /&gt;
* Start building (usually you want to select the release/no debug build, debug is really too slow and is used only when you really know what you want to test)&lt;br /&gt;
* Select the working directory in the project properties, otherwise spring will not work correctly&lt;br /&gt;
&lt;br /&gt;
== Errors ==&lt;br /&gt;
* &amp;lt;span class=warning&amp;gt;...\Windows\v6.0A\include\shlwapi.h(196) : error C2061: syntax error : identifier &#039;PCUITEMID_CHILD&#039;&amp;lt;/span&amp;gt; - wrong version of Platform SDK is used; go to Tools &amp;gt;&amp;gt; Options &amp;gt;&amp;gt; &amp;gt;&amp;gt; Projects and Solutions &amp;gt;&amp;gt; VC++ Directories and move the one that&#039;s causing this problem all the way down.&lt;br /&gt;
&lt;br /&gt;
=Visual Studio 9 (2008)=&lt;br /&gt;
(possibly the free Express Edition)&lt;br /&gt;
&lt;br /&gt;
Not yet fully working as far as I know; you need at least this hotfix from Microsoft though:&lt;br /&gt;
&lt;br /&gt;
http://support.microsoft.com/kb/946040&lt;br /&gt;
&lt;br /&gt;
or update your Visual Studio using your Windows Update.&lt;br /&gt;
&lt;br /&gt;
For the rest the Visual Studio 8 instructions should apply, mostly. You probably won&#039;t need to add Windows SDK path references as they should be present by default.&lt;br /&gt;
&lt;br /&gt;
You need the [http://cloud.github.com/downloads/spring/spring/spring-vc9libs-v4.7z vclibs for VS2008], and not the ones for Visual Studio 2005. The installation procedure is the same though.&lt;br /&gt;
&lt;br /&gt;
Be aware that the project file isn&#039;t updated nearly as frequently as it should, so it&#039;s best to use the .vcproj file from VS8 build and VS2008 will automatically update it.&lt;br /&gt;
&lt;br /&gt;
=General Visual Studio Notes=&lt;br /&gt;
So far the following aspects of Spring don&#039;t function properly or don&#039;t function at all when compiled with Visual Studio:&lt;br /&gt;
*Your VS build won&#039;t sync with GCC builds in multiplayer mode&lt;br /&gt;
*Any external AI crashes immediatley at start, LUA AI works though&lt;br /&gt;
[[Category:Compiling]]&lt;/div&gt;</summary>
		<author><name>Cranphin</name></author>
	</entry>
	<entry>
		<id>https://springrts-wiki.p2004a.com/mediawiki/index.php?title=Building_Spring_on_Windows&amp;diff=3596</id>
		<title>Building Spring on Windows</title>
		<link rel="alternate" type="text/html" href="https://springrts-wiki.p2004a.com/mediawiki/index.php?title=Building_Spring_on_Windows&amp;diff=3596"/>
		<updated>2011-05-04T23:11:19Z</updated>

		<summary type="html">&lt;p&gt;Cranphin: /* TDM webinstaller */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Engine_Development|Development]] &amp;lt; [[Building_spring|Building Spring]] &amp;lt; {{FULLPAGENAME}}&lt;br /&gt;
{{#css:&lt;br /&gt;
  code * {margin:inherit;}&lt;br /&gt;
}}&lt;br /&gt;
= Get the Source Code =&lt;br /&gt;
{{Obtaining_The_Source_Code}}&lt;br /&gt;
&lt;br /&gt;
= Essential Tools and Libraries =&lt;br /&gt;
If you are new to programming for open-source projects on Windows you&#039;ll quickly discover it can often be difficult to find the right software and dependencies. To aid you in your journey you will find stable versions of most of the tools and libraries listed below on [http://www.warriorhut.org/spring this mirror]. Use them if you have trouble finding what you need below.&lt;br /&gt;
&lt;br /&gt;
If you have trouble opening any of the archives please install the application 7zip as it supports all of the archive formats in common use (it&#039;s in the tools/archiving subdirectory).&lt;br /&gt;
&lt;br /&gt;
= Compiling on Windows =&lt;br /&gt;
For other platforms see [[Building spring]].&lt;br /&gt;
&lt;br /&gt;
==Install MinGW==&lt;br /&gt;
Compiling Spring in MinGW requires GCC 4.x&amp;lt;br&amp;gt;&lt;br /&gt;
Because the official MinGW installer &amp;amp; packages are totally outdated and abandoned, we recommend to use the TDM ones instead:&lt;br /&gt;
&lt;br /&gt;
===TDM webinstaller===&lt;br /&gt;
Get it here: [http://tdm-gcc.tdragon.net/download TDM-MinGW] (download the webinstaller alias &amp;quot;On-Demand Installer&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
Get at least the following packages:&lt;br /&gt;
* gcc (version &amp;lt;u&amp;gt;dw/dwarf2&amp;lt;/u&amp;gt;!)&lt;br /&gt;
** core&lt;br /&gt;
** g++&lt;br /&gt;
* binutils&lt;br /&gt;
* mingw-runtime&lt;br /&gt;
* win32api&lt;br /&gt;
&lt;br /&gt;
* gdb (recommended for debugging)&lt;br /&gt;
* openmp (optional)&lt;br /&gt;
&lt;br /&gt;
If you get &amp;lt;span class=warning&amp;gt;undefined ... _Unwind_Resume&amp;lt;/span&amp;gt; linking errors, deinstall &#039;&#039;whole&#039;&#039; TDM/MinGW and reinstall it with &#039;&#039;dwarf2&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
When using &#039;&#039;dwarf2&#039;&#039; as suggested, the compilers will be named abc-dw2. Rename (atleast) these two, or CMake will fail:&lt;br /&gt;
* &amp;quot;C:/MinGW32/bin/gcc-dw2.exe&amp;quot; to &amp;quot;gcc.exe&amp;quot;&lt;br /&gt;
* &amp;quot;C:/MinGW32/bin/g++-dw2.exe&amp;quot; to &amp;quot;g++.exe&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Since building Spring depends on the tool dos2unix, not provided by TDM, add cygutils-dos2unix from https://sourceforge.net/projects/mingw/files/MinGW/cygutils/cygutils-1.3.4-1/, and libpopt(dll) from https://sourceforge.net/projects/mingw/files/MinGW/popt/popt-1.15-1/&lt;br /&gt;
&lt;br /&gt;
==Spring MinGW Dependencies (mingwlibs)==&lt;br /&gt;
You also need some Spring dependencies, prepackaged in the &#039;&#039;&#039;mingwlibs&#039;&#039;&#039; archive.&lt;br /&gt;
&lt;br /&gt;
You can download a tarball [http://github.com/spring/mingwlibs &#039;&#039;&#039;here&#039;&#039;&#039;] (&#039;&#039;&#039;Download Source&#039;&#039;&#039; button).&amp;lt;br&amp;gt;&lt;br /&gt;
Or (recommended) use git:&lt;br /&gt;
* open a console (cmd.exe) or use git&#039;s bash (you find it in the right click context menu when clicking the folder), &amp;lt;code&amp;gt;cd&amp;lt;/code&amp;gt; into your source dir&lt;br /&gt;
* make a dir named mingwlibs&lt;br /&gt;
* &amp;lt;code&amp;gt;cd mingwlibs&amp;lt;/code&amp;gt;&lt;br /&gt;
* run &amp;lt;code&amp;gt;git clone git://github.com/spring/mingwlibs.git&amp;lt;/code&amp;gt;&lt;br /&gt;
* and update it from time to time with: &amp;lt;code&amp;gt;git pull --rebase&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===mingwlibs install directory===&lt;br /&gt;
There are two ways to setup the MinGW libraries:&lt;br /&gt;
&lt;br /&gt;
* Make sure you install the package in the checkout directory, so the path is: /spring/mingwlibs. If done right, it will look like:&lt;br /&gt;
** */spring/&lt;br /&gt;
** */spring/...&lt;br /&gt;
** */spring/mingwlibs&lt;br /&gt;
** */spring/rts&lt;br /&gt;
&lt;br /&gt;
* Install the package somewhere else (preferably outside of the source tree), and pass its location with the &#039;&#039;MINGDIR&#039;&#039; option to CMake in the configure step (see further down, in the quick instructions).&lt;br /&gt;
&lt;br /&gt;
= Compiling with cmake =&lt;br /&gt;
First get [http://www.cmake.org/cmake/resources/software.html CMake here] and install it.&lt;br /&gt;
&lt;br /&gt;
then&lt;br /&gt;
* run the &#039;&#039;cmake-gui&#039;&#039; and select a source and a build directory&lt;br /&gt;
* configure and follow the instructions, and adjust variables to your needs (defaults are OK)&lt;br /&gt;
* press &#039;&#039;&#039;Generate&#039;&#039;&#039;&lt;br /&gt;
* open a console (&#039;&#039;cmd.exe&#039;&#039;), &#039;&#039;cd&#039;&#039; into your build directory&lt;br /&gt;
* &#039;&#039;optional:&#039;&#039; for multi-threaded compilation, the &#039;&#039;mingw32-make&#039;&#039; part may differ on your system: &amp;lt;code&amp;gt;&#039;&#039;&amp;lt;pre&amp;gt;set MAKE_COMMAND=mingw32-make -j2&amp;lt;/pre&amp;gt;&#039;&#039;&amp;lt;/code&amp;gt;&lt;br /&gt;
* compile with: &amp;lt;code&amp;gt;&#039;&#039;&amp;lt;pre&amp;gt;mingw32-make install-spring&amp;lt;/pre&amp;gt;&#039;&#039;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Compiling with scons=&lt;br /&gt;
deprecated - use cmake&lt;br /&gt;
&lt;br /&gt;
=Visual Studio 8 (2005)=&lt;br /&gt;
(possibly the free Express Edition) &lt;br /&gt;
&lt;br /&gt;
* Install the [http://cloud.github.com/downloads/spring/spring/spring-vc8libs-v5.7z vclibs library package]. You need to install this in the /spring directory from the SVN checkout or the zipped source. If done right, it will look like:&lt;br /&gt;
**/spring/&lt;br /&gt;
**/spring/installer&lt;br /&gt;
**/spring/rts&lt;br /&gt;
**/spring/... other dirs&lt;br /&gt;
**/spring/vclibs&lt;br /&gt;
* Install the [http://msdn.microsoft.com/directx/sdk/ DirectX SDK]&lt;br /&gt;
* Install the PlatformSDK. I got away with unchecking the parts of the PlatformSDK that were obviously not related (IIS, web stuff). Makes for a smaller download. Make &#039;&#039;&#039;sure&#039;&#039;&#039; the Platform SDK and DirectX SDK are in the VS search/include directories.&lt;br /&gt;
** Note that the most recent version of Platform SDK is called [http://www.microsoft.com/downloads/details.aspx?FamilyID=c17ba869-9671-4330-a63e-1fd44e0e2505&amp;amp;displaylang=en Windows SDK].&lt;br /&gt;
* After installing them, open Visual C++. Click Tools &amp;gt;&amp;gt; Options &amp;gt;&amp;gt; Projects and Solutions &amp;gt;&amp;gt; VC++ Directories. Add these entries to the corresponding sections (paths just a reference, yours may be different):&lt;br /&gt;
**Include files:&lt;br /&gt;
***$(ProgramFiles)\Microsoft DirectX SDK (August 2007)\Include&lt;br /&gt;
***$(ProgramFiles)\Microsoft Platform SDK\include&lt;br /&gt;
**Library files:&lt;br /&gt;
***$(ProgramFiles)\Microsoft DirectX SDK (August 2007)\Lib\x86 (Might need \x64 on a 64-bit platform, I don&#039;t know.)&lt;br /&gt;
***$(ProgramFiles)\Microsoft Platform SDK\lib&lt;br /&gt;
* Open the solution. /spring/rts/build/vstudio8/rts.sln&lt;br /&gt;
* Start building (usually you want to select the release/no debug build, debug is really too slow and is used only when you really know what you want to test)&lt;br /&gt;
* Select the working directory in the project properties, otherwise spring will not work correctly&lt;br /&gt;
&lt;br /&gt;
== Errors ==&lt;br /&gt;
* &amp;lt;span class=warning&amp;gt;...\Windows\v6.0A\include\shlwapi.h(196) : error C2061: syntax error : identifier &#039;PCUITEMID_CHILD&#039;&amp;lt;/span&amp;gt; - wrong version of Platform SDK is used; go to Tools &amp;gt;&amp;gt; Options &amp;gt;&amp;gt; &amp;gt;&amp;gt; Projects and Solutions &amp;gt;&amp;gt; VC++ Directories and move the one that&#039;s causing this problem all the way down.&lt;br /&gt;
&lt;br /&gt;
=Visual Studio 9 (2008)=&lt;br /&gt;
(possibly the free Express Edition)&lt;br /&gt;
&lt;br /&gt;
Not yet fully working as far as I know; you need at least this hotfix from Microsoft though:&lt;br /&gt;
&lt;br /&gt;
http://support.microsoft.com/kb/946040&lt;br /&gt;
&lt;br /&gt;
or update your Visual Studio using your Windows Update.&lt;br /&gt;
&lt;br /&gt;
For the rest the Visual Studio 8 instructions should apply, mostly. You probably won&#039;t need to add Windows SDK path references as they should be present by default.&lt;br /&gt;
&lt;br /&gt;
You need the [http://cloud.github.com/downloads/spring/spring/spring-vc9libs-v4.7z vclibs for VS2008], and not the ones for Visual Studio 2005. The installation procedure is the same though.&lt;br /&gt;
&lt;br /&gt;
Be aware that the project file isn&#039;t updated nearly as frequently as it should, so it&#039;s best to use the .vcproj file from VS8 build and VS2008 will automatically update it.&lt;br /&gt;
&lt;br /&gt;
=General Visual Studio Notes=&lt;br /&gt;
So far the following aspects of Spring don&#039;t function properly or don&#039;t function at all when compiled with Visual Studio:&lt;br /&gt;
*Your VS build won&#039;t sync with GCC builds in multiplayer mode&lt;br /&gt;
*Any external AI crashes immediatley at start, LUA AI works though&lt;br /&gt;
[[Category:Compiling]]&lt;/div&gt;</summary>
		<author><name>Cranphin</name></author>
	</entry>
	<entry>
		<id>https://springrts-wiki.p2004a.com/mediawiki/index.php?title=Building_Spring_on_Windows&amp;diff=3595</id>
		<title>Building Spring on Windows</title>
		<link rel="alternate" type="text/html" href="https://springrts-wiki.p2004a.com/mediawiki/index.php?title=Building_Spring_on_Windows&amp;diff=3595"/>
		<updated>2011-05-04T22:54:46Z</updated>

		<summary type="html">&lt;p&gt;Cranphin: /* TDM webinstaller */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Engine_Development|Development]] &amp;lt; [[Building_spring|Building Spring]] &amp;lt; {{FULLPAGENAME}}&lt;br /&gt;
{{#css:&lt;br /&gt;
  code * {margin:inherit;}&lt;br /&gt;
}}&lt;br /&gt;
= Get the Source Code =&lt;br /&gt;
{{Obtaining_The_Source_Code}}&lt;br /&gt;
&lt;br /&gt;
= Essential Tools and Libraries =&lt;br /&gt;
If you are new to programming for open-source projects on Windows you&#039;ll quickly discover it can often be difficult to find the right software and dependencies. To aid you in your journey you will find stable versions of most of the tools and libraries listed below on [http://www.warriorhut.org/spring this mirror]. Use them if you have trouble finding what you need below.&lt;br /&gt;
&lt;br /&gt;
If you have trouble opening any of the archives please install the application 7zip as it supports all of the archive formats in common use (it&#039;s in the tools/archiving subdirectory).&lt;br /&gt;
&lt;br /&gt;
= Compiling on Windows =&lt;br /&gt;
For other platforms see [[Building spring]].&lt;br /&gt;
&lt;br /&gt;
==Install MinGW==&lt;br /&gt;
Compiling Spring in MinGW requires GCC 4.x&amp;lt;br&amp;gt;&lt;br /&gt;
Because the official MinGW installer &amp;amp; packages are totally outdated and abandoned, we recommend to use the TDM ones instead:&lt;br /&gt;
&lt;br /&gt;
===TDM webinstaller===&lt;br /&gt;
Get it here: [http://tdm-gcc.tdragon.net/download TDM-MinGW] (download the webinstaller alias &amp;quot;On-Demand Installer&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
Get at least the following packages:&lt;br /&gt;
* gcc (version &amp;lt;u&amp;gt;dw/dwarf2&amp;lt;/u&amp;gt;!)&lt;br /&gt;
** core&lt;br /&gt;
** g++&lt;br /&gt;
* binutils&lt;br /&gt;
* mingw-runtime&lt;br /&gt;
* win32api&lt;br /&gt;
&lt;br /&gt;
* gdb (recommended for debugging)&lt;br /&gt;
* openmp (optional)&lt;br /&gt;
&lt;br /&gt;
If you get &amp;lt;span class=warning&amp;gt;undefined ... _Unwind_Resume&amp;lt;/span&amp;gt; linking errors, deinstall &#039;&#039;whole&#039;&#039; TDM/MinGW and reinstall it with &#039;&#039;dwarf2&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
When using &#039;&#039;dwarf2&#039;&#039; as suggested, you&#039;ll have to point CMake to the correct compilers. The first time you run CMake against the spring source you should get a dialog in which you can select &amp;quot;Specify native compilers&amp;quot;. Select that, then browse to the correct c and c++ compilers, usually this will be: &amp;quot;C:/MinGW32/bin/gcc-dw2.exe&amp;quot; and &amp;quot;C:/MinGW32/bin/g++-dw2.exe&amp;quot;.&lt;br /&gt;
Note: this seems not enough, windres.exe still tries to use the wrong gcc path.&lt;br /&gt;
&lt;br /&gt;
Since building Spring depends on the tool dos2unix, not provided by TDM, add cygutils-dos2unix from https://sourceforge.net/projects/mingw/files/MinGW/cygutils/cygutils-1.3.4-1/, and libpopt(dll) from https://sourceforge.net/projects/mingw/files/MinGW/popt/popt-1.15-1/&lt;br /&gt;
&lt;br /&gt;
==Spring MinGW Dependencies (mingwlibs)==&lt;br /&gt;
You also need some Spring dependencies, prepackaged in the &#039;&#039;&#039;mingwlibs&#039;&#039;&#039; archive.&lt;br /&gt;
&lt;br /&gt;
You can download a tarball [http://github.com/spring/mingwlibs &#039;&#039;&#039;here&#039;&#039;&#039;] (&#039;&#039;&#039;Download Source&#039;&#039;&#039; button).&amp;lt;br&amp;gt;&lt;br /&gt;
Or (recommended) use git:&lt;br /&gt;
* open a console (cmd.exe) or use git&#039;s bash (you find it in the right click context menu when clicking the folder), &amp;lt;code&amp;gt;cd&amp;lt;/code&amp;gt; into your source dir&lt;br /&gt;
* make a dir named mingwlibs&lt;br /&gt;
* &amp;lt;code&amp;gt;cd mingwlibs&amp;lt;/code&amp;gt;&lt;br /&gt;
* run &amp;lt;code&amp;gt;git clone git://github.com/spring/mingwlibs.git&amp;lt;/code&amp;gt;&lt;br /&gt;
* and update it from time to time with: &amp;lt;code&amp;gt;git pull --rebase&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===mingwlibs install directory===&lt;br /&gt;
There are two ways to setup the MinGW libraries:&lt;br /&gt;
&lt;br /&gt;
* Make sure you install the package in the checkout directory, so the path is: /spring/mingwlibs. If done right, it will look like:&lt;br /&gt;
** */spring/&lt;br /&gt;
** */spring/...&lt;br /&gt;
** */spring/mingwlibs&lt;br /&gt;
** */spring/rts&lt;br /&gt;
&lt;br /&gt;
* Install the package somewhere else (preferably outside of the source tree), and pass its location with the &#039;&#039;MINGDIR&#039;&#039; option to CMake in the configure step (see further down, in the quick instructions).&lt;br /&gt;
&lt;br /&gt;
= Compiling with cmake =&lt;br /&gt;
First get [http://www.cmake.org/cmake/resources/software.html CMake here] and install it.&lt;br /&gt;
&lt;br /&gt;
then&lt;br /&gt;
* run the &#039;&#039;cmake-gui&#039;&#039; and select a source and a build directory&lt;br /&gt;
* configure and follow the instructions, and adjust variables to your needs (defaults are OK)&lt;br /&gt;
* press &#039;&#039;&#039;Generate&#039;&#039;&#039;&lt;br /&gt;
* open a console (&#039;&#039;cmd.exe&#039;&#039;), &#039;&#039;cd&#039;&#039; into your build directory&lt;br /&gt;
* &#039;&#039;optional:&#039;&#039; for multi-threaded compilation, the &#039;&#039;mingw32-make&#039;&#039; part may differ on your system: &amp;lt;code&amp;gt;&#039;&#039;&amp;lt;pre&amp;gt;set MAKE_COMMAND=mingw32-make -j2&amp;lt;/pre&amp;gt;&#039;&#039;&amp;lt;/code&amp;gt;&lt;br /&gt;
* compile with: &amp;lt;code&amp;gt;&#039;&#039;&amp;lt;pre&amp;gt;mingw32-make install-spring&amp;lt;/pre&amp;gt;&#039;&#039;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Compiling with scons=&lt;br /&gt;
deprecated - use cmake&lt;br /&gt;
&lt;br /&gt;
=Visual Studio 8 (2005)=&lt;br /&gt;
(possibly the free Express Edition) &lt;br /&gt;
&lt;br /&gt;
* Install the [http://cloud.github.com/downloads/spring/spring/spring-vc8libs-v5.7z vclibs library package]. You need to install this in the /spring directory from the SVN checkout or the zipped source. If done right, it will look like:&lt;br /&gt;
**/spring/&lt;br /&gt;
**/spring/installer&lt;br /&gt;
**/spring/rts&lt;br /&gt;
**/spring/... other dirs&lt;br /&gt;
**/spring/vclibs&lt;br /&gt;
* Install the [http://msdn.microsoft.com/directx/sdk/ DirectX SDK]&lt;br /&gt;
* Install the PlatformSDK. I got away with unchecking the parts of the PlatformSDK that were obviously not related (IIS, web stuff). Makes for a smaller download. Make &#039;&#039;&#039;sure&#039;&#039;&#039; the Platform SDK and DirectX SDK are in the VS search/include directories.&lt;br /&gt;
** Note that the most recent version of Platform SDK is called [http://www.microsoft.com/downloads/details.aspx?FamilyID=c17ba869-9671-4330-a63e-1fd44e0e2505&amp;amp;displaylang=en Windows SDK].&lt;br /&gt;
* After installing them, open Visual C++. Click Tools &amp;gt;&amp;gt; Options &amp;gt;&amp;gt; Projects and Solutions &amp;gt;&amp;gt; VC++ Directories. Add these entries to the corresponding sections (paths just a reference, yours may be different):&lt;br /&gt;
**Include files:&lt;br /&gt;
***$(ProgramFiles)\Microsoft DirectX SDK (August 2007)\Include&lt;br /&gt;
***$(ProgramFiles)\Microsoft Platform SDK\include&lt;br /&gt;
**Library files:&lt;br /&gt;
***$(ProgramFiles)\Microsoft DirectX SDK (August 2007)\Lib\x86 (Might need \x64 on a 64-bit platform, I don&#039;t know.)&lt;br /&gt;
***$(ProgramFiles)\Microsoft Platform SDK\lib&lt;br /&gt;
* Open the solution. /spring/rts/build/vstudio8/rts.sln&lt;br /&gt;
* Start building (usually you want to select the release/no debug build, debug is really too slow and is used only when you really know what you want to test)&lt;br /&gt;
* Select the working directory in the project properties, otherwise spring will not work correctly&lt;br /&gt;
&lt;br /&gt;
== Errors ==&lt;br /&gt;
* &amp;lt;span class=warning&amp;gt;...\Windows\v6.0A\include\shlwapi.h(196) : error C2061: syntax error : identifier &#039;PCUITEMID_CHILD&#039;&amp;lt;/span&amp;gt; - wrong version of Platform SDK is used; go to Tools &amp;gt;&amp;gt; Options &amp;gt;&amp;gt; &amp;gt;&amp;gt; Projects and Solutions &amp;gt;&amp;gt; VC++ Directories and move the one that&#039;s causing this problem all the way down.&lt;br /&gt;
&lt;br /&gt;
=Visual Studio 9 (2008)=&lt;br /&gt;
(possibly the free Express Edition)&lt;br /&gt;
&lt;br /&gt;
Not yet fully working as far as I know; you need at least this hotfix from Microsoft though:&lt;br /&gt;
&lt;br /&gt;
http://support.microsoft.com/kb/946040&lt;br /&gt;
&lt;br /&gt;
or update your Visual Studio using your Windows Update.&lt;br /&gt;
&lt;br /&gt;
For the rest the Visual Studio 8 instructions should apply, mostly. You probably won&#039;t need to add Windows SDK path references as they should be present by default.&lt;br /&gt;
&lt;br /&gt;
You need the [http://cloud.github.com/downloads/spring/spring/spring-vc9libs-v4.7z vclibs for VS2008], and not the ones for Visual Studio 2005. The installation procedure is the same though.&lt;br /&gt;
&lt;br /&gt;
Be aware that the project file isn&#039;t updated nearly as frequently as it should, so it&#039;s best to use the .vcproj file from VS8 build and VS2008 will automatically update it.&lt;br /&gt;
&lt;br /&gt;
=General Visual Studio Notes=&lt;br /&gt;
So far the following aspects of Spring don&#039;t function properly or don&#039;t function at all when compiled with Visual Studio:&lt;br /&gt;
*Your VS build won&#039;t sync with GCC builds in multiplayer mode&lt;br /&gt;
*Any external AI crashes immediatley at start, LUA AI works though&lt;br /&gt;
[[Category:Compiling]]&lt;/div&gt;</summary>
		<author><name>Cranphin</name></author>
	</entry>
	<entry>
		<id>https://springrts-wiki.p2004a.com/mediawiki/index.php?title=Building_Spring_on_Windows&amp;diff=3594</id>
		<title>Building Spring on Windows</title>
		<link rel="alternate" type="text/html" href="https://springrts-wiki.p2004a.com/mediawiki/index.php?title=Building_Spring_on_Windows&amp;diff=3594"/>
		<updated>2011-05-04T22:53:40Z</updated>

		<summary type="html">&lt;p&gt;Cranphin: /* TDM webinstaller */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Engine_Development|Development]] &amp;lt; [[Building_spring|Building Spring]] &amp;lt; {{FULLPAGENAME}}&lt;br /&gt;
{{#css:&lt;br /&gt;
  code * {margin:inherit;}&lt;br /&gt;
}}&lt;br /&gt;
= Get the Source Code =&lt;br /&gt;
{{Obtaining_The_Source_Code}}&lt;br /&gt;
&lt;br /&gt;
= Essential Tools and Libraries =&lt;br /&gt;
If you are new to programming for open-source projects on Windows you&#039;ll quickly discover it can often be difficult to find the right software and dependencies. To aid you in your journey you will find stable versions of most of the tools and libraries listed below on [http://www.warriorhut.org/spring this mirror]. Use them if you have trouble finding what you need below.&lt;br /&gt;
&lt;br /&gt;
If you have trouble opening any of the archives please install the application 7zip as it supports all of the archive formats in common use (it&#039;s in the tools/archiving subdirectory).&lt;br /&gt;
&lt;br /&gt;
= Compiling on Windows =&lt;br /&gt;
For other platforms see [[Building spring]].&lt;br /&gt;
&lt;br /&gt;
==Install MinGW==&lt;br /&gt;
Compiling Spring in MinGW requires GCC 4.x&amp;lt;br&amp;gt;&lt;br /&gt;
Because the official MinGW installer &amp;amp; packages are totally outdated and abandoned, we recommend to use the TDM ones instead:&lt;br /&gt;
&lt;br /&gt;
===TDM webinstaller===&lt;br /&gt;
Get it here: [http://tdm-gcc.tdragon.net/download TDM-MinGW] (download the webinstaller alias &amp;quot;On-Demand Installer&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
Get at least the following packages:&lt;br /&gt;
* gcc (version &amp;lt;u&amp;gt;dw/dwarf2&amp;lt;/u&amp;gt;!)&lt;br /&gt;
** core&lt;br /&gt;
** g++&lt;br /&gt;
* binutils&lt;br /&gt;
* mingw-runtime&lt;br /&gt;
* win32api&lt;br /&gt;
&lt;br /&gt;
* gdb (recommended for debugging)&lt;br /&gt;
* openmp (optional)&lt;br /&gt;
&lt;br /&gt;
If you get &amp;lt;span class=warning&amp;gt;undefined ... _Unwind_Resume&amp;lt;/span&amp;gt; linking errors, deinstall &#039;&#039;whole&#039;&#039; TDM/MinGW and reinstall it with &#039;&#039;dwarf2&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
When using &#039;&#039;dwarf2&#039;&#039; as suggested, you&#039;ll have to point CMake to the correct compilers. The first time you run CMake against the spring source you should get a dialog in which you can select &amp;quot;Specify native compilers&amp;quot;. Select that, then browse to the correct c and c++ compilers, usually this will be: &amp;quot;C:/MinGW32/bin/gcc-dw2.exe&amp;quot; and &amp;quot;C:/MinGW32/bin/g++-dw2.exe&amp;quot;.&lt;br /&gt;
Note: this seems not enough, winres.exe still tries to use the wrong gcc path.&lt;br /&gt;
&lt;br /&gt;
Since building Spring depends on the tool dos2unix, not provided by TDM, add cygutils-dos2unix from https://sourceforge.net/projects/mingw/files/MinGW/cygutils/cygutils-1.3.4-1/, and libpopt(dll) from https://sourceforge.net/projects/mingw/files/MinGW/popt/popt-1.15-1/&lt;br /&gt;
&lt;br /&gt;
==Spring MinGW Dependencies (mingwlibs)==&lt;br /&gt;
You also need some Spring dependencies, prepackaged in the &#039;&#039;&#039;mingwlibs&#039;&#039;&#039; archive.&lt;br /&gt;
&lt;br /&gt;
You can download a tarball [http://github.com/spring/mingwlibs &#039;&#039;&#039;here&#039;&#039;&#039;] (&#039;&#039;&#039;Download Source&#039;&#039;&#039; button).&amp;lt;br&amp;gt;&lt;br /&gt;
Or (recommended) use git:&lt;br /&gt;
* open a console (cmd.exe) or use git&#039;s bash (you find it in the right click context menu when clicking the folder), &amp;lt;code&amp;gt;cd&amp;lt;/code&amp;gt; into your source dir&lt;br /&gt;
* make a dir named mingwlibs&lt;br /&gt;
* &amp;lt;code&amp;gt;cd mingwlibs&amp;lt;/code&amp;gt;&lt;br /&gt;
* run &amp;lt;code&amp;gt;git clone git://github.com/spring/mingwlibs.git&amp;lt;/code&amp;gt;&lt;br /&gt;
* and update it from time to time with: &amp;lt;code&amp;gt;git pull --rebase&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===mingwlibs install directory===&lt;br /&gt;
There are two ways to setup the MinGW libraries:&lt;br /&gt;
&lt;br /&gt;
* Make sure you install the package in the checkout directory, so the path is: /spring/mingwlibs. If done right, it will look like:&lt;br /&gt;
** */spring/&lt;br /&gt;
** */spring/...&lt;br /&gt;
** */spring/mingwlibs&lt;br /&gt;
** */spring/rts&lt;br /&gt;
&lt;br /&gt;
* Install the package somewhere else (preferably outside of the source tree), and pass its location with the &#039;&#039;MINGDIR&#039;&#039; option to CMake in the configure step (see further down, in the quick instructions).&lt;br /&gt;
&lt;br /&gt;
= Compiling with cmake =&lt;br /&gt;
First get [http://www.cmake.org/cmake/resources/software.html CMake here] and install it.&lt;br /&gt;
&lt;br /&gt;
then&lt;br /&gt;
* run the &#039;&#039;cmake-gui&#039;&#039; and select a source and a build directory&lt;br /&gt;
* configure and follow the instructions, and adjust variables to your needs (defaults are OK)&lt;br /&gt;
* press &#039;&#039;&#039;Generate&#039;&#039;&#039;&lt;br /&gt;
* open a console (&#039;&#039;cmd.exe&#039;&#039;), &#039;&#039;cd&#039;&#039; into your build directory&lt;br /&gt;
* &#039;&#039;optional:&#039;&#039; for multi-threaded compilation, the &#039;&#039;mingw32-make&#039;&#039; part may differ on your system: &amp;lt;code&amp;gt;&#039;&#039;&amp;lt;pre&amp;gt;set MAKE_COMMAND=mingw32-make -j2&amp;lt;/pre&amp;gt;&#039;&#039;&amp;lt;/code&amp;gt;&lt;br /&gt;
* compile with: &amp;lt;code&amp;gt;&#039;&#039;&amp;lt;pre&amp;gt;mingw32-make install-spring&amp;lt;/pre&amp;gt;&#039;&#039;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Compiling with scons=&lt;br /&gt;
deprecated - use cmake&lt;br /&gt;
&lt;br /&gt;
=Visual Studio 8 (2005)=&lt;br /&gt;
(possibly the free Express Edition) &lt;br /&gt;
&lt;br /&gt;
* Install the [http://cloud.github.com/downloads/spring/spring/spring-vc8libs-v5.7z vclibs library package]. You need to install this in the /spring directory from the SVN checkout or the zipped source. If done right, it will look like:&lt;br /&gt;
**/spring/&lt;br /&gt;
**/spring/installer&lt;br /&gt;
**/spring/rts&lt;br /&gt;
**/spring/... other dirs&lt;br /&gt;
**/spring/vclibs&lt;br /&gt;
* Install the [http://msdn.microsoft.com/directx/sdk/ DirectX SDK]&lt;br /&gt;
* Install the PlatformSDK. I got away with unchecking the parts of the PlatformSDK that were obviously not related (IIS, web stuff). Makes for a smaller download. Make &#039;&#039;&#039;sure&#039;&#039;&#039; the Platform SDK and DirectX SDK are in the VS search/include directories.&lt;br /&gt;
** Note that the most recent version of Platform SDK is called [http://www.microsoft.com/downloads/details.aspx?FamilyID=c17ba869-9671-4330-a63e-1fd44e0e2505&amp;amp;displaylang=en Windows SDK].&lt;br /&gt;
* After installing them, open Visual C++. Click Tools &amp;gt;&amp;gt; Options &amp;gt;&amp;gt; Projects and Solutions &amp;gt;&amp;gt; VC++ Directories. Add these entries to the corresponding sections (paths just a reference, yours may be different):&lt;br /&gt;
**Include files:&lt;br /&gt;
***$(ProgramFiles)\Microsoft DirectX SDK (August 2007)\Include&lt;br /&gt;
***$(ProgramFiles)\Microsoft Platform SDK\include&lt;br /&gt;
**Library files:&lt;br /&gt;
***$(ProgramFiles)\Microsoft DirectX SDK (August 2007)\Lib\x86 (Might need \x64 on a 64-bit platform, I don&#039;t know.)&lt;br /&gt;
***$(ProgramFiles)\Microsoft Platform SDK\lib&lt;br /&gt;
* Open the solution. /spring/rts/build/vstudio8/rts.sln&lt;br /&gt;
* Start building (usually you want to select the release/no debug build, debug is really too slow and is used only when you really know what you want to test)&lt;br /&gt;
* Select the working directory in the project properties, otherwise spring will not work correctly&lt;br /&gt;
&lt;br /&gt;
== Errors ==&lt;br /&gt;
* &amp;lt;span class=warning&amp;gt;...\Windows\v6.0A\include\shlwapi.h(196) : error C2061: syntax error : identifier &#039;PCUITEMID_CHILD&#039;&amp;lt;/span&amp;gt; - wrong version of Platform SDK is used; go to Tools &amp;gt;&amp;gt; Options &amp;gt;&amp;gt; &amp;gt;&amp;gt; Projects and Solutions &amp;gt;&amp;gt; VC++ Directories and move the one that&#039;s causing this problem all the way down.&lt;br /&gt;
&lt;br /&gt;
=Visual Studio 9 (2008)=&lt;br /&gt;
(possibly the free Express Edition)&lt;br /&gt;
&lt;br /&gt;
Not yet fully working as far as I know; you need at least this hotfix from Microsoft though:&lt;br /&gt;
&lt;br /&gt;
http://support.microsoft.com/kb/946040&lt;br /&gt;
&lt;br /&gt;
or update your Visual Studio using your Windows Update.&lt;br /&gt;
&lt;br /&gt;
For the rest the Visual Studio 8 instructions should apply, mostly. You probably won&#039;t need to add Windows SDK path references as they should be present by default.&lt;br /&gt;
&lt;br /&gt;
You need the [http://cloud.github.com/downloads/spring/spring/spring-vc9libs-v4.7z vclibs for VS2008], and not the ones for Visual Studio 2005. The installation procedure is the same though.&lt;br /&gt;
&lt;br /&gt;
Be aware that the project file isn&#039;t updated nearly as frequently as it should, so it&#039;s best to use the .vcproj file from VS8 build and VS2008 will automatically update it.&lt;br /&gt;
&lt;br /&gt;
=General Visual Studio Notes=&lt;br /&gt;
So far the following aspects of Spring don&#039;t function properly or don&#039;t function at all when compiled with Visual Studio:&lt;br /&gt;
*Your VS build won&#039;t sync with GCC builds in multiplayer mode&lt;br /&gt;
*Any external AI crashes immediatley at start, LUA AI works though&lt;br /&gt;
[[Category:Compiling]]&lt;/div&gt;</summary>
		<author><name>Cranphin</name></author>
	</entry>
	<entry>
		<id>https://springrts-wiki.p2004a.com/mediawiki/index.php?title=Crans_Building_Spring_on_Windows_Log&amp;diff=5165</id>
		<title>Crans Building Spring on Windows Log</title>
		<link rel="alternate" type="text/html" href="https://springrts-wiki.p2004a.com/mediawiki/index.php?title=Crans_Building_Spring_on_Windows_Log&amp;diff=5165"/>
		<updated>2011-04-30T15:25:41Z</updated>

		<summary type="html">&lt;p&gt;Cranphin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Right, the current building on windows with MinGW instructions for master seem outdated/broken/etc. :)&lt;br /&gt;
&lt;br /&gt;
Since the new MinGW versions, things have become easier and more reliable.&lt;br /&gt;
So to help others, I&#039;ll log here how I can make a working windows build from scratch.&lt;br /&gt;
&lt;br /&gt;
I know this initial page isn&#039;t well formatted, I&#039;ll leave that to when I feel like it, or someone else does. Right now it seems more important to have some working instructions.&lt;br /&gt;
&lt;br /&gt;
I can&#039;t test on anything other then my own system, which is Windows7, 64 bit.&lt;br /&gt;
The date of all this is April 30, 2011.&lt;br /&gt;
&lt;br /&gt;
Although this builds, and runs, you may have issues, since it is master. I certainly have some :) But since the buildbot windows builds have the same issues at the moment, I assume this is due to master having some issues, and not the build procedure.&lt;br /&gt;
&lt;br /&gt;
Keep in mind that these steps describe using the latest available versions of everything. Currently this works pretty well, and is by far the easiest. But this may certainly change in the future.&lt;br /&gt;
&lt;br /&gt;
Steps:&lt;br /&gt;
* For the Java AI bits, you&#039;ll want to have a 32 bit JDK installed, I&#039;m currently using jdk1.6.0_24. Things may build without, but I&#039;m doing a Java AI, so not gonna test without Java :)&lt;br /&gt;
* You&#039;ll need a working MinGW, this used to be a pain, but with recent updates this has become a lot better.&lt;br /&gt;
** Read the page on http://www.mingw.org/wiki/Getting_Started, just to get your bearings.&lt;br /&gt;
** Grab the lastest mingw-get-inst from http://sourceforge.net/projects/mingw/files/Automated%20MinGW%20Installer/mingw-get-inst. I&#039;m using mingw-get-inst-20110316.exe.&lt;br /&gt;
** Run the installer, choose to download the latest repository catalogues, accept the license&lt;br /&gt;
** I&#039;d recommend using the default install location of C:\MinGW, check if you didn&#039;t already have something there before installing :)&lt;br /&gt;
** Whether you create start menu folders/desktop links/etc. is up to you.&lt;br /&gt;
** From the available packages, select at least C++ compiler, adding MinGW Developer Toolkit works quite well, but is a rather big download. Not adding it means we need to add some more packages later.&lt;br /&gt;
** Now the installer will do it&#039;s work, this will take some time. I usually get some errors/warnings about files which couldn&#039;t be downloaded (sourceforge hickups I figure), but as far as I can tell it&#039;ll retry them.&lt;br /&gt;
** You&#039;ll need to add the bin sub folder where you installed MinGW to the PATH environment variable, most reading this will know what to do, otherwise the MinGW getting started page covers it well.&lt;br /&gt;
** If all went well, you should now have some working tools. Open a cmd.exe (windows command shell), and type &#039;g++ --version&#039;, this should tell you you&#039;ve now got a 4.5.2 or higher g++ compiler.&lt;br /&gt;
** Spring needs the dos2unix tool to build, which is not installed by default. Use the command &#039;mingw-get install cygutils-dos2unix&#039; to grab it.&lt;br /&gt;
** If you did not install the MinGW Developer Toolkit, you&#039;ll have to install mingw32-make, use: &#039;mingw-get install mingw32-make&#039;&lt;br /&gt;
** Because of a &#039;bug&#039; (See https://sourceforge.net/tracker/?func=detail&amp;amp;aid=3295175&amp;amp;group_id=2435&amp;amp;atid=102435), we&#039;ll have to replace the installed collect2.exe. Get the gcc-4.5.2-tdm-1-core.zip from: https://sourceforge.net/projects/tdm-gcc/files/TDM-GCC%204.5%20series/4.5.2-tdm-1%20SJLJ/ (or a newer version in the same location. These are TDM MinGW builds, alternative builds of MinGW, and he&#039;s got a fix in for this issue), unpack the zip file to a temporary location, and copy the contained libexec\gcc\mingw32\4.5.2\collect2.exe to C:\MinGW\libexec\gcc\mingw32\4.5.2 or similar, replacing the existing collect2.exe. Hopefully they&#039;ll do something with the bug report and fix this :)&lt;br /&gt;
* I&#039;m assuming you&#039;ll want to use git to get master, so you&#039;ll need the git client.&lt;br /&gt;
** Get the latest client from: http://code.google.com/p/msysgit/downloads/list Currently the most recent is &#039;Git-1.7.4-preview20110204.exe&#039;, detailing all the settings is a bit out of scope here, I have found that choosing for it to do no newline conversions tends to work the best with Spring :)&lt;br /&gt;
** We&#039;ll get the source now, start with &#039;git clone git://github.com/spring/spring.git&#039; This will create a &#039;spring&#039; folder in the folder you execute the command from. This spring folder will contain the source.&lt;br /&gt;
** If at a later time you want to update this source, go to the spring folder, and use &#039;git pull --rebase&#039;.&lt;br /&gt;
* Ok, we&#039;re nearly done, we now need the &#039;mingwlibs&#039;, our own collection of libraries and stuff needed to build on windows. Your best bet is to get it from https://github.com/spring/mingwlibs (which always is the most recent, we need the latest for master), it has a big Downloads button. Use that to get a zip, and put the zip&#039;s content under out spring folder, in a subfolder &#039;mingwlibs&#039;.&lt;br /&gt;
* Well, nearlyish, we need CMake now, get and install the latest from http://www.cmake.org/cmake/resources/software.html. 2.8.4 works fine for me atm.&lt;br /&gt;
* Now run cmake-ui (it should have put a icon on the desktop).&lt;br /&gt;
** Select the source folder, it&#039;s the spring folder you got with git.&lt;br /&gt;
** Choose a build folder, it doesn&#039;t have to exist yet, I use a &#039;build&#039; folder next to the &#039;spring&#039; folder.&lt;br /&gt;
** Hit the configure button. Use defaults in the generator dialog, which should be MinGW Makefiles, and use default native compilers.&lt;br /&gt;
** There&#039;s now lots of configuration values, luckily defaults work fine normally. The only change I&#039;d recommend is to change CMAKE_INSTALL_PREFIX to something like &#039;C:/Spring.master&#039; Windows7/VIsta do not like anyone changing stuff under the Program Files folder, so keep spring in the root of C: (or so) tends to prevent a lot of problems. If you&#039;ve changed anything, hit configure once more.&lt;br /&gt;
** Now hit generate, this should create all needed makefiles and stuff.&lt;br /&gt;
** If that went well, we&#039;re done with CMake, close it.&lt;br /&gt;
* Open a new cmd.exe, and go to the new &#039;build&#039; folder.&lt;br /&gt;
* Optionally, type &#039;set MAKE_COMMAND=mingw32-make -j2&#039;, if you have more then one core and want to try multi-processed building (it&#039;s faster).&lt;br /&gt;
* Cross your fingers and type &#039;mingw32-make install DESTDIR=C:\&#039; (the DESTDIR part will heed the &#039;CMAKE_INSTALL_PREFIX&#039; you set earlier).&lt;br /&gt;
&lt;br /&gt;
If things build well, one way to testing things is:&lt;br /&gt;
* Get the BA mod from: http://spring-portal.com/index.php/docman/doc_details/314-balanced-annihilation-v71&lt;br /&gt;
* Get and install abma&#039;s test &#039;game&#039; from: https://github.com/abma/spring-test-game (you want all contents as zip, the big download button). There&#039;s a README included.&lt;br /&gt;
* Now start spring.exe, pick a map of your liking, set the &#039;ai&#039; to Commanders (which only spawns an idle commander for each side), and pick the game/mod name &#039;Balanced Annihilation modtest-V7.31&#039; notice the &#039;modtest&#039; bit :)&lt;br /&gt;
&lt;br /&gt;
[[Category:Compiling]]&lt;/div&gt;</summary>
		<author><name>Cranphin</name></author>
	</entry>
	<entry>
		<id>https://springrts-wiki.p2004a.com/mediawiki/index.php?title=Crans_Building_Spring_on_Windows_Log&amp;diff=5164</id>
		<title>Crans Building Spring on Windows Log</title>
		<link rel="alternate" type="text/html" href="https://springrts-wiki.p2004a.com/mediawiki/index.php?title=Crans_Building_Spring_on_Windows_Log&amp;diff=5164"/>
		<updated>2011-04-30T15:01:41Z</updated>

		<summary type="html">&lt;p&gt;Cranphin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Right, the current building on windows with MinGW instructions for master seem outdated/broken/etc. :)&lt;br /&gt;
&lt;br /&gt;
Since the new MinGW versions, things have become easier and more reliable.&lt;br /&gt;
So to help others, I&#039;ll log here how I can make a working windows build from scratch.&lt;br /&gt;
&lt;br /&gt;
I know this initial page isn&#039;t well formatted, I&#039;ll leave that to when I feel like it, or someone else does. Right now it seems more important to have some working instructions.&lt;br /&gt;
&lt;br /&gt;
I can&#039;t test on anything other then my own system, which is Windows7, 64 bit.&lt;br /&gt;
The date of all this is April 30, 2011.&lt;br /&gt;
&lt;br /&gt;
Although this builds, and runs, you may have issues, since it is master. I certainly have some :) But since the buildbot windows builds have the same issues at the moment, I assume this is due to master having some issues, and not the build procedure.&lt;br /&gt;
&lt;br /&gt;
Keep in mind that these steps describe using the latest available versions of everything. Currently this works pretty well, and is by far the easiest. But this may certainly change in the future.&lt;br /&gt;
&lt;br /&gt;
Steps:&lt;br /&gt;
- For the Java AI bits, you&#039;ll want to have a 32 bit JDK installed, I&#039;m currently using jdk1.6.0_24. Things may build without, but I&#039;m doing a Java AI, so not gonna test without Java :)&lt;br /&gt;
- You&#039;ll need a working MinGW, this used to be a pain, but with recent updates this has become a lot better.&lt;br /&gt;
  - Read the page on http://www.mingw.org/wiki/Getting_Started, just to get your bearings.&lt;br /&gt;
  - Grab the lastest mingw-get-inst from http://sourceforge.net/projects/mingw/files/Automated%20MinGW%20Installer/mingw-get-inst. I&#039;m using mingw-get-inst-20110316.exe.&lt;br /&gt;
  - Run the installer, choose to download the latest repository catalogues, accept the license&lt;br /&gt;
  - I&#039;d recommend using the default install location of C:\MinGW, check if you didn&#039;t already have something there before installing :)&lt;br /&gt;
  - Whether you create start menu folders/desktop links/etc. is up to you.&lt;br /&gt;
  - From the available packages, select at least C++ compiler, adding MinGW Developer Toolkit works quite well, but is a rather big download. Not adding it means we need to add some more packages later.&lt;br /&gt;
  - Now the installer will do it&#039;s work, this will take some time. I usually get some errors/warnings about files which couldn&#039;t be downloaded (sourceforge hickups I figure), but as far as I can tell it&#039;ll retry them.&lt;br /&gt;
  - You&#039;ll need to add the bin sub folder where you installed MinGW to the PATH environment variable, most reading this will know what to do, otherwise the MinGW getting started page covers it well.&lt;br /&gt;
  - If all went well, you should now have some working tools. Open a cmd.exe (windows command shell), and type &#039;g++ --version&#039;, this should tell you you&#039;ve now got a 4.5.2 or higher g++ compiler.&lt;br /&gt;
  - Spring needs the dos2unix tool to build, which is not installed by default. Use the command &#039;mingw-get install cygutils-dos2unix&#039; to grab it.&lt;br /&gt;
  - If you did not install the MinGW Developer Toolkit, you&#039;ll have to install mingw32-make, use: &#039;mingw-get install mingw32-make&#039;&lt;br /&gt;
  - Because of a &#039;bug&#039; (See https://sourceforge.net/tracker/?func=detail&amp;amp;aid=3295175&amp;amp;group_id=2435&amp;amp;atid=102435), we&#039;ll have to replace the installed collect2.exe. Get the gcc-4.5.2-tdm-1-core.zip from: https://sourceforge.net/projects/tdm-gcc/files/TDM-GCC%204.5%20series/4.5.2-tdm-1%20SJLJ/ (or a newer version in the same location. These are TDM MinGW builds, alternative builds of MinGW, and he&#039;s got a fix in for this issue), unpack the zip file to a temporary location, and copy the contained libexec\gcc\mingw32\4.5.2\collect2.exe to C:\MinGW\libexec\gcc\mingw32\4.5.2 or similar, replacing the existing collect2.exe. Hopefully they&#039;ll do something with the bug report and fix this :)&lt;br /&gt;
- I&#039;m assuming you&#039;ll want to use git to get master, so you&#039;ll need the git client.&lt;br /&gt;
  - Get the latest client from: http://code.google.com/p/msysgit/downloads/list Currently the most recent is &#039;Git-1.7.4-preview20110204.exe&#039;, detailing all the settings is a bit out of scope here, I have found that choosing for it to do no newline conversions tends to work the best with Spring :)&lt;br /&gt;
  - We&#039;ll get the source now, start with &#039;git clone git://github.com/spring/spring.git&#039; This will create a &#039;spring&#039; folder in the folder you execute the command from. This spring folder will contain the source.&lt;br /&gt;
  - If at a later time you want to update this source, go to the spring folder, and use &#039;git pull --rebase&#039;.&lt;br /&gt;
- Ok, we&#039;re nearly done, we now need the &#039;mingwlibs&#039;, our own collection of libraries and stuff needed to build on windows. Your best bet is to get it from https://github.com/spring/mingwlibs (which always is the most recent, we need the latest for master), it has a big Downloads button. Use that to get a zip, and put the zip&#039;s content under out spring folder, in a subfolder &#039;mingwlibs&#039;.&lt;br /&gt;
- Well, nearlyish, we need CMake now, get and install the latest from http://www.cmake.org/cmake/resources/software.html. 2.8.4 works fine for me atm.&lt;br /&gt;
- Now run cmake-ui (it should have put a icon on the desktop).&lt;br /&gt;
  - Select the source folder, it&#039;s the spring folder you got with git.&lt;br /&gt;
  - Choose a build folder, it doesn&#039;t have to exist yet, I use a &#039;build&#039; folder next to the &#039;spring&#039; folder.&lt;br /&gt;
  - Hit the configure button. Use defaults in the generator dialog, which should be MinGW Makefiles, and use default native compilers.&lt;br /&gt;
  - There&#039;s now lots of configuration values, luckily defaults work fine normally. The only change I&#039;d recommend is to change CMAKE_INSTALL_PREFIX to something like &#039;C:/Spring.master&#039; Windows7/VIsta do not like anyone changing stuff under the Program Files folder, so keep spring in the root of C: (or so) tends to prevent a lot of problems. If you&#039;ve changed anything, hit configure once more.&lt;br /&gt;
  - Now hit generate, this should create all needed makefiles and stuff.&lt;br /&gt;
  - If that went well, we&#039;re done with CMake, close it.&lt;br /&gt;
- Open a new cmd.exe, and go to the new &#039;build&#039; folder.&lt;br /&gt;
- Optionally, type &#039;set MAKE_COMMAND=mingw32-make -j2&#039;, if you have more then one core and want to try multi-processed building (it&#039;s faster).&lt;br /&gt;
- Cross your fingers and type &#039;mingw32-make install DESTDIR=C:\&#039; (the DESTDIR part will heed the &#039;CMAKE_INSTALL_PREFIX&#039; you set earlier).&lt;br /&gt;
&lt;br /&gt;
If things build well, one way to testing things is:&lt;br /&gt;
 - Get the BA mod from: http://spring-portal.com/index.php/docman/doc_details/314-balanced-annihilation-v71&lt;br /&gt;
 - Get and install abma&#039;s test &#039;game&#039; from: https://github.com/abma/spring-test-game (you want all contents as zip, the big download button). There&#039;s a README included.&lt;br /&gt;
 - Now start spring.exe, pick a map of your liking, set the &#039;ai&#039; to Commanders (which only spawns an idle commander for each side), and pick the game/mod name &#039;Balanced Annihilation modtest-V7.31&#039; notice the &#039;modtest&#039; bit :)&lt;/div&gt;</summary>
		<author><name>Cranphin</name></author>
	</entry>
	<entry>
		<id>https://springrts-wiki.p2004a.com/mediawiki/index.php?title=Crans_Building_Spring_on_Windows_Log&amp;diff=5163</id>
		<title>Crans Building Spring on Windows Log</title>
		<link rel="alternate" type="text/html" href="https://springrts-wiki.p2004a.com/mediawiki/index.php?title=Crans_Building_Spring_on_Windows_Log&amp;diff=5163"/>
		<updated>2011-04-30T11:08:14Z</updated>

		<summary type="html">&lt;p&gt;Cranphin: Created page with &amp;quot;Right, the current building on windows with MinGW instructions for master seem outdated/broken/etc. :)  Since the new MinGW versions, things have become easier and more reliable....&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Right, the current building on windows with MinGW instructions for master seem outdated/broken/etc. :)&lt;br /&gt;
&lt;br /&gt;
Since the new MinGW versions, things have become easier and more reliable.&lt;br /&gt;
So to help others, I&#039;ll log here how I can make a working windows build from scratch.&lt;br /&gt;
&lt;br /&gt;
I know this initial page isn&#039;t well formatted, I&#039;ll leave that to when I feel like it, or someone else does. Right now it seems more important to have some working instructions.&lt;br /&gt;
&lt;br /&gt;
I can&#039;t test on anything other then my own system, which is Windows7, 64 bit.&lt;br /&gt;
The date of all this is April 30, 2011.&lt;br /&gt;
&lt;br /&gt;
Although this builds, and runs, current master seems a bit wobbly to say the least, AI&#039;s wont run for me, shadows slow everything way down (which they didn&#039;t use to), getting lua out of memory stuff :)&lt;br /&gt;
But since the buildbot windows builds have the same issues at the moment, I assume this is due to master having some issues, and not the build procedure.&lt;br /&gt;
&lt;br /&gt;
Keep in mind that these steps describe using the latest available versions of everything. Currently this works pretty well, and is by far the easiest. But this may certainly change in the future.&lt;br /&gt;
&lt;br /&gt;
Steps:&lt;br /&gt;
- For the Java AI bits, you&#039;ll want to have a 32 bit JDK installed, I&#039;m currently using jdk1.6.0_24. Things may build without, but I&#039;m doing a Java AI, so not gonna test without Java :)&lt;br /&gt;
- You&#039;ll need a working MinGW, this used to be a pain, but with recent updates this has become a lot better.&lt;br /&gt;
  - Read the page on http://www.mingw.org/wiki/Getting_Started, just to get your bearings.&lt;br /&gt;
  - Grab the lastest mingw-get-inst from http://sourceforge.net/projects/mingw/files/Automated%20MinGW%20Installer/mingw-get-inst. I&#039;m using mingw-get-inst-20110316.exe.&lt;br /&gt;
  - Run the installer, choose to download the latest repository catalogues, accept the license&lt;br /&gt;
  - I&#039;d recommend using the default install location of C:\MinGW, check if you didn&#039;t already have something there before installing :)&lt;br /&gt;
  - Whether you create start menu folders/desktop links/etc. is up to you.&lt;br /&gt;
  - From the available packages, select at least C++ compiler, adding MinGW Developer Toolkit works quite well, but is a rather big download. Not adding it means we need to add some more packages later.&lt;br /&gt;
  - Now the installer will do it&#039;s work, this will take some time. I usually get some errors/warnings about files which couldn&#039;t be downloaded (sourceforge hickups I figure), but as far as I can tell it&#039;ll retry them.&lt;br /&gt;
  - You&#039;ll need to add the bin sub folder where you installed MinGW to the PATH environment variable, most reading this will know what to do, otherwise the MinGW getting started page covers it well.&lt;br /&gt;
  - If all went well, you should now have some working tools. Open a cmd.exe (windows command shell), and type &#039;g++ --version&#039;, this should tell you you&#039;ve now got a 4.5.2 or higher g++ compiler.&lt;br /&gt;
  - Spring needs the dos2unix tool to build, which is not installed by default. Use the command &#039;mingw-get install cygutils-dos2unix&#039; to grab it.&lt;br /&gt;
  - If you did not install the MinGW Developer Toolkit, you&#039;ll have to install mingw32-make, use: &#039;mingw-get install mingw32-make&#039;&lt;br /&gt;
  - Because of a &#039;bug&#039; (See https://sourceforge.net/tracker/?func=detail&amp;amp;aid=3295175&amp;amp;group_id=2435&amp;amp;atid=102435), we&#039;ll have to replace the installed collect2.exe. Get the gcc-4.5.2-tdm-1-core.zip from: https://sourceforge.net/projects/tdm-gcc/files/TDM-GCC%204.5%20series/4.5.2-tdm-1%20SJLJ/ (or a newer version in the same location. These are TDM MinGW builds, alternative builds of MinGW, and he&#039;s got a fix in for this issue), unpack the zip file to a temporary location, and copy the contained libexec\gcc\mingw32\4.5.2\collect2.exe to C:\MinGW\libexec\gcc\mingw32\4.5.2 or similar, replacing the existing collect2.exe. Hopefully they&#039;ll do something with the bug report and fix this :)&lt;br /&gt;
- I&#039;m assuming you&#039;ll want to use git to get master, so you&#039;ll need the git client.&lt;br /&gt;
  - Get the latest client from: http://code.google.com/p/msysgit/downloads/list Currently the most recent is &#039;Git-1.7.4-preview20110204.exe&#039;, detailing all the settings is a bit out of scope here, I have found that choosing for it to do no newline conversions tends to work the best with Spring :)&lt;br /&gt;
  - We&#039;ll get the source now, start with &#039;git clone git://github.com/spring/spring.git&#039; This will create a &#039;spring&#039; folder in the folder you execute the command from. This spring folder will contain the source.&lt;br /&gt;
  - If at a later time you want to update this source, go to the spring folder, and use &#039;git pull --rebase&#039;.&lt;br /&gt;
- Ok, we&#039;re nearly done, we now need the &#039;mingwlibs&#039;, our own collection of libraries and stuff needed to build on windows. Your best bet is to get it from https://github.com/spring/mingwlibs (which always is the most recent, we need the latest for master), it has a big Downloads button. Use that to get a zip, and put the zip&#039;s content under out spring folder, in a subfolder &#039;mingwlibs&#039;.&lt;br /&gt;
- Well, nearlyish, we need CMake now, get and install the latest from http://www.cmake.org/cmake/resources/software.html. 2.8.4 works fine for me atm.&lt;br /&gt;
- Now run cmake-ui (it should have put a icon on the desktop).&lt;br /&gt;
  - Select the source folder, it&#039;s the spring folder you got with git.&lt;br /&gt;
  - Choose a build folder, it doesn&#039;t have to exist yet, I use a &#039;build&#039; folder next to the &#039;spring&#039; folder.&lt;br /&gt;
  - Hit the configure button. Use defaults in the generator dialog, which should be MinGW Makefiles, and use default native compilers.&lt;br /&gt;
  - There&#039;s now lots of configuration values, luckily defaults work fine normally. The only change I&#039;d recommend is to change CMAKE_INSTALL_PREFIX to something like &#039;C:/Spring.master&#039; Windows7/VIsta do not like anyone changing stuff under the Program Files folder, so keep spring in the root of C: (or so) tends to prevent a lot of problems. If you&#039;ve changed anything, hit configure once more.&lt;br /&gt;
  - Now hit generate, this should create all needed makefiles and stuff.&lt;br /&gt;
  - If that went well, we&#039;re done with CMake, close it.&lt;br /&gt;
- Open a new cmd.exe, and go to the new &#039;build&#039; folder.&lt;br /&gt;
- Optionally, type &#039;set MAKE_COMMAND=mingw32-make -j2&#039;, if you have more then one core and want to try multi-processed building (it&#039;s faster).&lt;br /&gt;
- Cross your fingers and type &#039;mingw32-make install DESTDIR=C:\&#039; (the DESTDIR part will heed the &#039;CMAKE_INSTALL_PREFIX&#039; you set earlier).&lt;/div&gt;</summary>
		<author><name>Cranphin</name></author>
	</entry>
</feed>