Update: Readme_Windows_MSVC documentation now reflects the current reality again
It was not updated for a while, and kinda out-of-date. This should bring it back to reality.pull/73/head
parent
28ff1be85b
commit
65bc7123d1
@ -0,0 +1,70 @@
|
|||||||
|
# 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](http://www.microsoft.com/downloads/details.aspx?FamilyId=A55B6B43-E24F-4EA3-A93E-40C0EC4F68E5&displaylang=en)
|
||||||
|
|
||||||
|
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` intructions 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:
|
||||||
|
|
||||||
|
- freetype
|
||||||
|
- liblzma
|
||||||
|
- libpng
|
||||||
|
- lzo
|
||||||
|
- zlib
|
||||||
|
|
||||||
|
To install both the x64 (64bit) and x86 (32bit) variants, you can use:
|
||||||
|
|
||||||
|
```ps
|
||||||
|
.\vcpkg install freetype:x64-windows-static liblzma:x64-windows-static libpng:x64-windows-static lzo:x64-windows-static zlib:x64-windows-static
|
||||||
|
.\vcpkg install freetype:x86-windows-static 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
|
||||||
|
|
||||||
|
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.
|
@ -1,109 +0,0 @@
|
|||||||
Compiling OpenTTD using Microsoft Visual C++
|
|
||||||
Last updated: 2018-03-21
|
|
||||||
--------------------------------------------
|
|
||||||
PLEASE READ THE ENTIRE DOCUMENT BEFORE DOING ANY ACTUAL CHANGES!!
|
|
||||||
|
|
||||||
|
|
||||||
SUPPORTED MSVC COMPILERS
|
|
||||||
------------------------
|
|
||||||
OpenTTD includes projects for Microsoft Visual Studio 2005 and later.
|
|
||||||
This is the earliest compiler supported, Visual C++ 2003, Visual C++ 6.0,
|
|
||||||
or earlier, will not compile OpenTTD.
|
|
||||||
You can download the free Visual Studio Community Edition from Microsoft.
|
|
||||||
|
|
||||||
|
|
||||||
1) REQUIRED FILES
|
|
||||||
-----------------
|
|
||||||
You might already have some of the files already installed, so check before
|
|
||||||
downloading; mostly because the Platform SDK is about 500MB.
|
|
||||||
Download the following files:
|
|
||||||
|
|
||||||
* openttd-useful.zip (http://binaries.openttd.org/extra/openttd-useful/)
|
|
||||||
* MS Windows Platform SDK (http://www.microsoft.com/downloads/details.aspx?FamilyId=A55B6B43-E24F-4EA3-A93E-40C0EC4F68E5&displaylang=en)
|
|
||||||
* afxres.h (http://www-d0.fnal.gov/d0dist/dist/packages/d0ve/devel/windows/AFXRES.H)
|
|
||||||
|
|
||||||
...and of course the newest source from svn://svn.openttd.org/trunk
|
|
||||||
|
|
||||||
You need an SVN-client to download the source from subversion:
|
|
||||||
|
|
||||||
* CLI Subversion (http://subversion.tigris.org/)
|
|
||||||
* GUI TortoiseSVN (http://tortoisesvn.tigris.org/)
|
|
||||||
|
|
||||||
|
|
||||||
2) INCLUDES AND LIBRARIES
|
|
||||||
-------------------------
|
|
||||||
Put the newly downloaded files in the VC lib\ and include\ directories; where
|
|
||||||
"C:\Program Files\Microsoft Visual Studio 9.0\VC" is your location of Visual C.
|
|
||||||
If you are compiling for an x64 system, use the include\ and lib\ directories
|
|
||||||
from the win64/ folder.
|
|
||||||
|
|
||||||
* openttd-useful.zip\include\*
|
|
||||||
* afxresh.h
|
|
||||||
to > C:\Program Files\Microsoft Visual Studio 9.0\VC\Include
|
|
||||||
|
|
||||||
* openttd-useful.zip\lib\*
|
|
||||||
to > C:\Program Files\Microsoft Visual Studio 9.0\VC\Lib
|
|
||||||
|
|
||||||
Custom directories might be recommended, check 2.2)
|
|
||||||
|
|
||||||
|
|
||||||
2.1) INCLUDES AND LIBRARIES - DIRECTX/PLATFORM SDK
|
|
||||||
--------------------------------------------------
|
|
||||||
Basically the same procedure as with the useful zip file, providing
|
|
||||||
you are not using the Microsoft installer. Put the include files in the
|
|
||||||
include\ directory and the library files to the Lib\ directory.
|
|
||||||
|
|
||||||
It is recommended to use custom directories so you don't overwrite any
|
|
||||||
default header or library files.
|
|
||||||
|
|
||||||
|
|
||||||
2.2) CUSTOM DIRECTORIES
|
|
||||||
-----------------------
|
|
||||||
If you have put the above include and/or library files into custom folders,
|
|
||||||
MSVC will not find them by default. You need to add these paths to VC through:
|
|
||||||
|
|
||||||
Tools > Options > Projects and Solutions > VC++ Directories > show directories for
|
|
||||||
|
|
||||||
* Include files: Add the DirectX/Platform SDK include dir you've created
|
|
||||||
* Library files: Add the path to the SDK custom lib dir
|
|
||||||
|
|
||||||
NOTE: make sure that the directory for the DirectX SDK is the first one in the
|
|
||||||
list, above all others, otherwise compilation will most likely fail!!
|
|
||||||
|
|
||||||
|
|
||||||
3) TTD GRAPHICS FILES
|
|
||||||
---------------------
|
|
||||||
See section 4.1 of README.md for the required 3rdparty files and how to install them.
|
|
||||||
|
|
||||||
|
|
||||||
4) COMPILING
|
|
||||||
------------
|
|
||||||
Open the appropriate "sln" (Solution) file for your version of Visual Studio:
|
|
||||||
- VS 2005: projects/openttd_vs80.sln
|
|
||||||
- VS 2008: projects/openttd_vs90.sln
|
|
||||||
- VS 2010: projects/openttd_vs100.sln
|
|
||||||
- VS 2015: projects/openttd_vs140.sln
|
|
||||||
Set the build mode to 'Release' in
|
|
||||||
Build > Configuration manager > Active solution configuration > select "Release"
|
|
||||||
Compile...
|
|
||||||
|
|
||||||
If everything works well the binary should be in objs/Win[32|64]/Release/openttd.exe
|
|
||||||
|
|
||||||
|
|
||||||
5) EDITING, CHANGING SOURCE CODE
|
|
||||||
--------------------------------
|
|
||||||
Set the build mode (back to) 'Debug'
|
|
||||||
Change the startup project to openttd by right-clicking the 'openttd' project
|
|
||||||
in the Solution Explorer and selecting 'Set as Startup Project'. The 'openttd'
|
|
||||||
project should now show up bold instead of 'strgen'.
|
|
||||||
|
|
||||||
|
|
||||||
6) PROBLEMS?
|
|
||||||
------------
|
|
||||||
If compilation fails, double-check that you are using the latest SVN (!)
|
|
||||||
source. If it still doesn't work, check in on IRC (irc://irc.oftc.net/openttd),
|
|
||||||
to ask about reasons; or just wait. The problem will most likely solve itself
|
|
||||||
within a few days as the problem is noticed and fixed.
|
|
||||||
|
|
||||||
An up-to-date version of this README can be found on the wiki:
|
|
||||||
http://wiki.openttd.org/Microsoft_Visual_C%2B%2B_2008_Express_Editions
|
|
Loading…
Reference in New Issue