User Tools

Site Tools


Sidebar

development:compiling:player:windows:visual-studio

This is an old revision of the document!


Compiling Player on Visual Studio

Things Needed

EasyRPG Source Code

Kind of obvious as you can't compile something you haven't, check getting-sources for more info.

Visual C++ 2010/2012

You can find Visual Studio 2010 and 2012 on the Microsoft website. Visual Studio Express is the free version.

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 git repository with needed dependencies (maintained by Ghabry).

Compiling with Visual Studio 2010

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).

Compiling with Visual Studio 2012

If you compiled using VS2010 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.

The precompiled libraries are only tested with VS2010 and don't compile directly using VS2012. Possible workarounds:

  1. Install Visual Studio 2010 too and follow the instructions above.
  2. Install the Windows 7.1 SDK and compile using build_vs2010 windows7.1sdk
  3. Compile using build_vs2010 v110, the libraries will be incompatible with Windows XP!
  4. Install Visual Studio 2012 Update 1 and compile using build_vs2010 v110_xp (XP compatible toolset)

After compiling

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.

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.

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.

Used libraries

If you are using the precompiled libraries you can skip this part.

If you want to compile by yourself:

  • DirectX SDK (February 2010)
  • expat
  • freetype
  • libjpeg
  • libmad
  • libmikmod
  • libogg
  • libpng
  • libvorbis
  • libvorbisfile (included with libvorbis)
  • native_midi (included with SDL_mixer)
  • Pixman
  • SDL2
  • SDL2_mixer (WAV, MOD, MP3, OGG and MID support)
  • zlib

Compiling Player

You need to place the liblcf sources into the player lib/liblcf 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.

Troubleshooting

"Already defined" linker error

This usually happens if you link against the wrong visual studio runtime and shouldn't happen if you follow the build instructions mentioned above.

If you got the libraries from other sources make sure that their runtime library (Project Properties → C++ → Code generation) is set to "Multithreaded Debug" (/MTd) for debug and "Multithreaded" (/MT) for release. To 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!).

LINK : fatal error LNK1123: failure during conversion to COFF: file invalid or corrupt

Press compile again, then linking should succeed, if not:

This error happens because of conflict of two versions of cvtres.exe if you have Visual Studio 2010 and 2012 installed on same PC. To fix it, go to the bin directory of Visual Studio 2010 (usually C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\bin\) and rename cvtres.exe to cvtres0.exe. It will not break the linker of 2010.

development/compiling/player/windows/visual-studio.1443866099.txt.gz · Last modified: 2016/04/01 17:35 (external edit)