Compiling with Microsoft Visual C++ (OpenXcom)

From UFOpaedia
Jump to navigation Jump to search

Libraries

Setting up

  1. Download GitHub for Windows.
  2. Download the source code from here, by pushing Clone in Desktop.
  3. Download and install X-COM: UFO Defense.
  4. Navigate to <path-to-game>\XCOM\ and copy the following folders.
GEODATA
GEOGRAPH
ROUTES
MAPS
SOUND
TERRAIN
UFOGRAPH
UFOINTRO
UNITS 

5. Navigate to <path-to-repo>\OpenXcom\bin\UFO and paste the folders in there.

Compiling (x32 Release)

  1. Download and install Visual Studio. A free version is available here.
  2. Download the following dependencies for the appropriate version of Visual Studio:
  3. Extract the archive's contents to <path-to-repo>\OpenXcom\
  4. Navigate to <path-to-repo>\OpenXcom\src and open OpenXcom.2010.sln.
  5. Compile the project by right clicking on OpenXcom and selecting Build. Upgrading the project may be needed on newer versions of Visual Studio.
  6. Navigate to <path-to-repo>\OpenXcom\bin then copy all the DLLs from <path-to-repo>\OpenXcom\bin\Win32 to <path-to-repo>\OpenXcom\bin\Win32\Release
  7. Move the common, UFO and standard folders from <path-to-repo>\OpenXcom\bin to <path-to-repo>\OpenXcom\bin\Win32\Release
  • Certain anti-viruses such as Avast may stop the project from building. Add the OpenXcom folder as an expection.
  • See the Visual Studio Documentation for more information on the IDE.

Issues fixed

Failed To Load Palette

Copy the X-Com resources to your bin folder, see Installing for more details.

afxres.h not found

Remove resource.h and OpenXcom.rc from the project.

MSVCR100.DLL not found

Install these files.

Platform 'x64' cannot be found

Compile as Win32.

unresolved external symbol "<blah-blah-blah> YAML <blah>"

Try adding YAML_CPP_DLL define to the project properties

linker errors

2>CVTRES : fatal error CVT1100: duplicate resource. type:MANIFEST, name:1, language:0x0409

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

Right-click in Solution Explorer on the openxcom project, click Properties. Linker -> Manifest File -> Generate Manifest = No (/MANIFEST:NO)