Compiling with Microsoft Visual C++ (OpenXcom)

From UFOpaedia
Jump to navigation Jump to search

Getting the source

You will need a Windows Git client to grab the latest source code.

TortoiseGit

  1. Install Git for Windows. When asked, select Use Git Bash only, Use OpenSSH and Checkout Windows-style, commit Unix-style line endings.
  2. Install TortoiseGit. Restart the computer if asked.
  3. Configure TortoiseGit by right-clicking any folder and selecting TortoiseGit > Settings. Select Git > Config, fill out your Username and E-mail as will be displayed in your commits, and make sure AutoCrlf and SafeCrlf are checked.
  4. Go to the folder where you wanna put the code, right-click on it and select Git Clone.
  5. Fill out the Url to the repository (the official one or your own fork), check the Directory is correct and press OK. Better get a drink, it's gonna be a while.
  6. In the future, you can stay up to date by right-clicking your folder and selecting Git Sync to Pull the latest code.

Installing dependencies

Put the required library files in a deps folder inside the codebase folder (above the src folder) with the following structure:

  • deps\include\SDL - SDL headers
  • deps\include\yaml-cpp - yaml-cpp headers
  • deps\lib\Win32 - library x86 DLL and LIB files
  • deps\lib\x64 - library x64 DLL and LIB files

Alternatively, you can grab the pre-compiled dependencies with all the files already in place, and extract it to your codebase folder. Here are the versions available:

Compiling and running

  1. Install Microsoft Visual C++ (part of Visual Studio). If you don't have it, you can get the Express Edition for free.
  2. Go to the src subfolder inside your codebase folder and open OpenXcom.2010.sln for VC++ 2010 and later. If you have an older version you will have to make your own VC++ project.
  3. Compile and run the project by pressing the Start Debugging button with a green arrow on the top toolbar.
  4. See the Visual Studio Documentation for more information on the IDE.

FAQ

Q: I get a Failed To Load Palette error.
A: Copy the X-Com resources to your bin folder, see Installing for more details.

Q: I get an error about afxres.h not being found.
A: You're using a Visual C++ Express Edition which doesn't support Resource files, just remove resource.h and OpenXcom.rc from the project.

Q: I get an error about MSVCR100.DLL not being found.
A: You're using the pre-built dependencies with an old Visual C++ version so you need to install the VC++ 2010 Redist.

Q: I get a warning about Platform 'x64' cannot be found.
A: You're using a Visual C++ Express Edition which doesn't support x64 builds, but you can still compile for Win32.