User Tools

Site Tools


development:compiling:player:windows:visual-studio

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
development:compiling:player:windows:visual-studio [2013/03/17 08:08]
rikki-mongoose Problems for ViST build
development:compiling:player:windows:visual-studio [2017/08/18 16:58] (current)
Line 6: Line 6:
 Kind of obvious as you can't compile something you haven't, check [[../../getting-sources|]] for more info. Kind of obvious as you can't compile something you haven't, check [[../../getting-sources|]] for more info.
  
-====Visual C++ 2010/2012==== +====Visual C++ 2015==== 
-You can find Visual Studio 2010 and 2012 on the [[http://www.microsoft.com/visualstudio/en-us/|Microsoft website]]. +You can find Visual Studio 2015 [[https://www.visualstudio.com/vs/community/|Microsoft website]]. 
-Visual Studio Express is the free version.+Visual Studio 2015 Community is the free version
 + 
 +Older compilers won't work because they don't support C++11. If you have already installed Visual Studio 2015 make sure that you update it to Update 2.
  
 ====Precompiled libraries==== ====Precompiled libraries====
 EasyRPG Player needs several libraries for compiling. It would be a bit tedious getting all those libraries one by one, so we have prepared a [[ EasyRPG Player needs several libraries for compiling. It would be a bit tedious getting all those libraries one by one, so we have prepared a [[
-https://github.com/Ghabry/easyrpg-win32-libs|git repository]] with needed dependencies (maintained by Ghabry).+https://github.com/EasyRPG/buildscripts|git repository]] with needed dependencies in the ''windows'' folder.
  
-=== Compiling with Visual Studio 2010 === +=== Compiling with Visual Studio 2015 ===
-To compile open a Visual Studio Command Prompt (32 or 64 bit) and execute ''build_vs2010.cmd'' (the Command Prompt can be found in the start menu).+
  
-==== Known problems ==== +Follow the instructions in the ''README'' file of the windows folder in the buildscripts repo.
-===== “Already defined” linker error =====+
  
-It happens because of because of standart C++ templates, that are released in Visual Studio libs and in additional UNIX libs too. So, you have to exclude one of them to use another.+== Before compiling ==
  
-Just add one of them, go to Project Properties Linker Input / Ignore Specific Default Libraries and set ignoring LIBCMT.LIB.+Create an environment variable EASYDEV_MSVC that points to '''buildscripts/windows/build'''. To create new environment variables enter the "Windows Control Panel" and select "System" (or enter "environment variable" in the search field)Sometimes new environment variables are not detected. Logout and -in again in order to fix this.
  
-===== LINK : fatal error LNK1123: failure during conversion to COFF: file invalid or corrupt =====+== Compiling ==
  
-This error happens because of conflict of two versions of cvtres.exe if you have Visual Studio 1010 and 2012 isntalled on same PC. To fix it, go to the bin directory of Visual Studio 2010 (c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\bin\ or something like this) and rename cvtres.exe to cvtres0.exe.+To compile open a Visual Studio Command Prompt (32 or 64 bit) and execute
  
-It willn’t break linker of 2010,+'' 
 +powershell .\setup.ps1 
 +build v140 
 +''
  
-=== Compiling with Visual Studio 2012 === +====Used libraries==== 
-''If you compiled using VS2010 you can skip this part.''+//If you are using the precompiled libraries you can skip this part.//
  
-To compile open a Visual Studio Command Prompt (32 or 64 bit). The Command Prompt can be found in the start menu.+If you want to compile by yourself:
  
-The precompiled libraries are only tested with VS2010 and don't compile directly using VS2012. Possible workarounds:+  * expat 
 +  * freetype 
 +  * harfbuzz 
 +  * icu4c 
 +  * libmodplug 
 +  * libogg 
 +  * libpng 
 +  * libsndfile 
 +  * libvorbis 
 +  * libvorbisfile (included with libvorbis) 
 +  * mpg123 
 +  * native_midi (included with SDL_mixer) 
 +  * pixman 
 +  * SDL2 
 +  * SDL2_mixer 
 +  * speexdsp 
 +  * zlib
  
-  - Install Visual Studio 2010 too and follow the instructions above. +===== Compiling Player =====
-  - Install the [[https://www.microsoft.com/en-us/download/details.aspx?id=8279|Windows 7.1 SDK]] and compile using ''build_vs2010 windows7.1sdk'' +
-  - Compile using ''build_vs2010 v110'', the libraries will be incompatible with Windows XP! +
-  - Install [[https://www.microsoft.com/de-de/download/details.aspx?id=35774|Visual Studio 2012 Update 1]] and compile using ''build_vs2010 v110_xp'' (XP compatible toolset)+
  
-=== After compiling === +You need to place the [[https://github.com/EasyRPG/liblcf|liblcf]] sources into the player lib/liblcf folder.
-The resulting files appear in vs2010.+
  
-The boost ([[http://www.boost.org/]]) headers are not included because of their gigantic filesize. The boost folder must be placed in ''vs2010/include/boost''.+Open the solution file in ''player\builds\vs2015'', select "Debug" or "Release" configuration from the configuration manager pulldown menu and then go to Build->Build solution, or just press Control-F7 to compile it.
  
-You will need to manually add the EASYDEV_MSVC enviroment variable and target the path vs2010 otherwise the EasyRPG solution file can't find the libraries.+The Player executable should be in the folder ''bin''. If you are not using the precompiled libraries, and you have dynamically linked Player, you will need to place the required .dll in the same folder Player.exe is.
  
-To create new environment variables enter the "Windows Control Panel" and select "System" (or enter "environment variable" in the search field). Sometimes new environment variables are not detected. Logout and -in again in order to fix this.+===== Troubleshooting =====
  
-====Used libraries==== +==== "Already defined" linker error ====
-''If you are using the precompiled libraries you can skip this part.''+
  
-If you want to compile by yourself:+This usually happens if you link against the wrong visual studio runtime and shouldn't happen if you follow the build instructions mentioned above.
  
-  * DirectX SDK (February 2010) +If you got the libraries from other sources make sure that their runtime library (Project Properties -> C++ -> Code generationis set to "Multithreaded Debug" (/MTdfor debug and "Multithreaded" (/MTfor releaseTo hide the error go to "Project Properties -> Linker -> Input -> Ignore Specific Default Libraries" and ignore LIBCMT.LIB or LIBCMTD.LIB (ignoring one of them should remove the error but it's recommended to link the libs against the correct library instead!).
-  * expat 2.1.0 +
-  * freetype 2.4.11 +
-  * libjpeg 9 +
-  * libmad 0.15.1b +
-  * libmikmod 3.2.0 +
-  * libogg 1.3.0 +
-  * libpng 1.5.14 +
-  * libvorbis 1.3.3 +
-  * libvorbisfile 1.3.3 (included with libvorbis) +
-  * native_midi (included with SDL_mixer) +
-  * Pixman 0.28.+
-  * SDL 1.2.15 +
-  * SDL_image 1.2.12 (BMP, GIF, JPG, PNG support) +
-  * SDL_mixer 1.2.12 (WAV, MOD, MP3, OGG and MID support) +
-  * SDL_ttf 2.0.11 +
-  * zlib 1.2.7+
  
-===== Compiling Player ===== 
- 
-You need to place the [[https://github.com/EasyRPG/Readers|Readers library]] sources into the player lib/readers folder. 
- 
-Open the solution file in ''player\builds\vs2010'', select "Debug" or "Release" configuration from the configuration manager pulldown menu and then go to Build->Build solution, or just press Control-F7 to compile it. 
- 
-The Player executable should be in the folder ''bin''. If you are not using the precompiled libraries, and you have dynamically linked Player, you will need to place the required .dll in the same folder Player.exe is. 
development/compiling/player/windows/visual-studio.1363507724.txt.gz · Last modified: 2013/06/30 23:46 (external edit)