How to build VCMI (Windows/Visual Studio 2015)

From VCMI Project Wiki
Revision as of 21:48, 16 September 2016 by Dydzio (talk | contribs) (Starting a tutorial)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search


  • Installed Heroes3 (can be bought for $10 at
  • Optionally, you can have also WoG or ERA installed.
  • IDE:
    • Microsoft Visual Studio 2015 (Community Edition recommended - it is free for non-commercial use). Earlier versions are out of scope of this tutorial.
    • Git client:
    • Visual Studio 2015 has built-in Git support. It isn't complete, but having most important Git commands integrated in IDE is very convienent. Additional GitHub extension for Visual Studio [1] gives few more features that may be useful.
    • Alternatively, you can use another Git client with better Git support, for example Sourcetree [2]
  • Libraries used by VCMI - where to get them will be explained later in this tutorial
    • Boost
    • SDL2
    • SDL2_image
    • SDL2_mixer
    • SDL2_TTF
    • FFmpeg
    • zlib
    • QT 5 (only used to compile VCMI launcher, which does not have to be rebuilt to test another VCMI parts)

Preparing place

Initial directory structure and libraries pack

Create a directory for VCMI development, eg. C:\VCMI. It will be base directory for VCMI source code.

It is recommended to avoid non-ascii characters in the path to your VCMI development folder. The folder should not be write-protected by system. Good location:

  • C:\VCMI

Bad locations:

  • C:\Users\Michał\VCMI (non-ascii character)
  • C:\Program Files (x86)\VCMI (write protection)

Obtaining VCMI sources

Using Sourcetree (version

  • Click "Clone / New" button in upper left part of the program
  • Make sure you are in first tab (Clone Repository). In "Source Path / URL:" type following link:
  • Set "Destination Path" field to directory desired for VCMI development and press "Clone" button.

Now you have the local copy of the repository on the disk. It should appear in the Team Explorer under the "Local Git Repositories" section. Double click it and then select a solution to open.

Getting Libraries