Difference between revisions of "How to build VCMI (Windows)"

From VCMI Project Wiki
Jump to: navigation, search
(Preparing place)
(Redirect page to CMake + Vcpkg build)
 
(44 intermediate revisions by 7 users not shown)
Line 1: Line 1:
= Prerequisites =
+
#REDIRECT [[How_to_build_VCMI_(Windows/Vcpkg)]]
* Installed Heroes3 (can be bought for $10 at [http://www.gog.com/en/gamecard/heroes_of_might_and_magic_3_complete_edition/ gog.com]) with WoG add-on [http://download.vcmi.eu/WoG/WoG_Install.7z download.vcmi.eu].
 
* IDE: Visual C++ 2008 Express Edition. It can be downloaded for free from [http://www.microsoft.com/express/vc/ microsoft.com]. Any higher edition will be fine. 2010 version is also supported (project files will be automatically converted but some settings may be a little different).
 
* SVN Client: TortoiseSVN. Available (for free) at [http://tortoisesvn.net/downloads tortoisesvn.net].
 
* Libraries pack: [http://download.vcmi.eu/msvc-libs.7z download.vcmi.eu]
 
* Boost libraries. You can build them on your own using sources from [http://www.boost.org/users/download/ boost.org] or download precompiled binaries with installer from [http://www.boostpro.com/download boostpro.com].
 
 
 
 
 
= Preparing place =
 
 
 
== Initial directory structure and libraries pack ==
 
Create a directory for VCMI development, eg. C:\VCMI. Extract there libraries pack. It contains initial directory structure.
 
 
 
== VCMI sources ==
 
Libraries pack contains default subfolder for VCMI sources named trunk. Right click it and select SVN Checkout from context menu.
 
 
 
[[File:trunk-menu.png|250px]]
 
 
 
 
 
In the dialog type (or paste :]) https://vcmi.svn.sourceforge.net/svnroot/vcmi/trunk/ as URL of repository.
 
 
 
[[File:Checkout.png|250px]]
 
 
 
 
 
Hit OK and latest VCMI sources will be downloaded from the repository. Double click VCMI_VC9.sln file to open VCMI projects in Visual Studio.
 
 
 
= Adjusting project files =
 
== Adding Boost library folders ==
 
All projects are aware of includes/ and libs/ directories in the main VCMI folder. Because libraries package uses them, the only remaining issue is giving IDE information where you have Boost library (the only library not included in the package).
 
 
 
 
 
There are several alternative ways to do that:
 
=== Global ===
 
Open Options window via Tools menu. Expand Project and Solutions subtree and select VC++ directiories. Then add appropriate libs and includes directories, selecting appropriately "Include files" or "Library files" from the listbox on the right. It'll allow you to use Boost in all your projects, not only VCMI.
 
 
 
[[File:dirs.png|250px]]
 
 
 
=== Per project ===
 
Add Boost individually for each project. Open properties (with context menu of project in solution explorer) window and add includes and libs directories of boost. Look for screenshots below for localizations of that settings in properties window.
 
 
 
[[File:includes.png|250px]]
 
[[File:libs.png|250px]]
 
 
 
=== Put along with other libs ===
 
Simply copy all the boost .lib's to the libs/ subfolder in your main VCMI directory and folder named "boost" containing all incldues to the includes/ subfolder.
 
 
 
= Compiling =
 
Now you should be able to succesfully build VCMI. Select "Build solution" from "Build" menu or press F7. Wait until the compilation finishes.
 
 
 
You should finally see "Build: 4 succeeded, 0 failed, 0 up-to-date, 0 skipped" message in the IDE output. Built VCMI binaries will be put in the solution folder (C:\VCMI\trunk in our example). If you want to run VCMI somewhere else, open each project properties and adjust "Output Directory" in "General Properties" tab.
 
 
 
Remember that VCMI_client.exe, VCMI_client.dll and VCMI_server.exe need to be in the same directory and AI (GeniusAI.dll) must be in AI/ subfolder.
 
 
 
 
 
= Running and debugging VCMI =
 
soon
 
 
 
= Further help =
 
soon
 

Latest revision as of 14:56, 20 August 2017