71 lines
		
	
	
		
			2.3 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
			
		
		
	
	
			71 lines
		
	
	
		
			2.3 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
# Compiling OpenTTD using Microsoft Visual C++
 | 
						|
 | 
						|
Last updated: 2018-12-27
 | 
						|
 | 
						|
## Supported MSVC compilers
 | 
						|
 | 
						|
OpenTTD includes projects for Visual Studio 2015 Update 3 or more recent.
 | 
						|
You can download the free Visual Studio Community Edition from Microsoft at
 | 
						|
https://visualstudio.microsoft.com/vs/community/.
 | 
						|
 | 
						|
## Required files
 | 
						|
 | 
						|
### Microsoft platform files
 | 
						|
 | 
						|
OpenTTD needs the Platform SDK, if it isn't installed already. This can be
 | 
						|
done during installing Visual Studio, by selecting
 | 
						|
`Visual C++ MFC for x86 and x64` (and possibly
 | 
						|
`Visual C++ ATL for x86 and x64` depending on your version). If not, you
 | 
						|
can get it at this location:
 | 
						|
 | 
						|
- [MS Windows Platform SDK](https://developer.microsoft.com/en-US/windows/downloads/windows-10-sdk)
 | 
						|
 | 
						|
Install the SDK by following the instructions as given.
 | 
						|
 | 
						|
### OpenTTD dependencies
 | 
						|
 | 
						|
Dependencies for OpenTTD on Windows are handled via
 | 
						|
[vcpkg](https://github.com/Microsoft/vcpkg/). First you need to install vcpkg
 | 
						|
by following the `Quick Start` instructions of their
 | 
						|
[README](https://github.com/Microsoft/vcpkg/blob/master/README.md).
 | 
						|
 | 
						|
After this, you can install the dependencies OpenTTD needs. We advise to use
 | 
						|
the `static` versions, and OpenTTD currently needs the following dependencies:
 | 
						|
 | 
						|
- liblzma
 | 
						|
- libpng
 | 
						|
- lzo
 | 
						|
- zlib
 | 
						|
 | 
						|
To install both the x64 (64bit) and x86 (32bit) variants, you can use:
 | 
						|
 | 
						|
```ps
 | 
						|
.\vcpkg install liblzma:x64-windows-static libpng:x64-windows-static lzo:x64-windows-static zlib:x64-windows-static
 | 
						|
.\vcpkg install liblzma:x86-windows-static libpng:x86-windows-static lzo:x86-windows-static zlib:x86-windows-static
 | 
						|
```
 | 
						|
 | 
						|
## TTD Graphics files
 | 
						|
 | 
						|
See section 4.1 of README.md for the required 3rdparty files and how to install them.
 | 
						|
 | 
						|
## Compiling
 | 
						|
 | 
						|
Open the appropriate `sln` (Solution) file for your version of Visual Studio:
 | 
						|
 | 
						|
- VS 2015: projects/openttd_vs140.sln
 | 
						|
- VS 2017: projects/openttd_vs141.sln
 | 
						|
- VS 2019: projects/openttd_vs142.sln
 | 
						|
 | 
						|
Set the build mode to `Release` in
 | 
						|
`Build > Configuration manager > Active solution configuration`.
 | 
						|
You can now compile.
 | 
						|
 | 
						|
If everything works well the binary should be in `objs\Win[32|64]\Release\openttd.exe`
 | 
						|
and in `bin\openttd.exe`
 | 
						|
 | 
						|
## Problems
 | 
						|
 | 
						|
If compilation fails, double-check that you are using the latest github
 | 
						|
source. If it still doesn't work, check in on IRC (irc://irc.oftc.net/openttd),
 | 
						|
to ask for help.
 |