Skip to content

Commit 7f5bfb5

Browse files
authored
Merge pull request godotengine#8865 from Calinou/compiling-for-windows-update-msvc
Update recommended MSVC version in Compiling for Windows
2 parents 0cb17c0 + b4cc189 commit 7f5bfb5

File tree

1 file changed

+26
-17
lines changed

1 file changed

+26
-17
lines changed

contributing/development/compiling/compiling_for_windows.rst

Lines changed: 26 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ Requirements
1616
For compiling under Windows, the following is required:
1717

1818
- `Visual Studio Community <https://www.visualstudio.com/vs/community/>`_,
19-
version 2017 or later. VS 2019 is recommended.
19+
version 2019 or later. Visual Studio 2022 is recommended.
2020
**Make sure to read "Installing Visual Studio caveats" below or you
2121
will have to run/download the installer again.**
2222
- `MinGW-w64 <https://mingw-w64.org/>`_ with GCC can be used as an alternative to
@@ -123,10 +123,19 @@ use MinGW, pass ``use_mingw=yes`` to the SCons command line. Note that MSVC
123123
builds cannot be performed from the MSYS2 or MinGW shells. Use either
124124
``cmd.exe`` or PowerShell instead.
125125

126-
During development, using the Visual Studio compiler is usually a better idea,
127-
as it links the Godot binary much faster than MinGW. However, MinGW can
128-
produce more optimized binaries using link-time optimization (see below),
129-
making it a better choice for production use.
126+
.. tip::
127+
128+
During development, using the Visual Studio compiler is usually a better
129+
idea, as it links the Godot binary much faster than MinGW. However, MinGW
130+
can produce more optimized binaries using link-time optimization (see
131+
below), making it a better choice for production use. This is particularly
132+
the case for the GDScript VM which performs much better with MinGW compared
133+
to MSVC. Therefore, it's recommended to use MinGW to produce builds that you
134+
distribute to players.
135+
136+
All official Godot binaries are built in
137+
`custom containers <https://github.com/godotengine/build-containers>`__
138+
using MinGW.
130139

131140
Running SCons
132141
~~~~~~~~~~~~~
@@ -168,15 +177,15 @@ Compiling with support for Direct3D 12
168177
--------------------------------------
169178

170179
By default, builds of Godot do not contain support for the Direct3D 12 graphics
171-
API.
180+
API.
172181

173182
To compile Godot with Direct3D 12 support you need at least the following:
174183

175184
- `The DirectX Shader Compiler <https://github.com/Microsoft/DirectXShaderCompiler/releases>`_.
176185
The zip folder will be named "dxc\_" followed by the date of release. Download
177186
it anywhere, unzip it and remember the path to the unzipped folder, you will
178187
need it below.
179-
- `godot-nir-static library <https://github.com/godotengine/godot-nir-static/releases/>`_.
188+
- `godot-nir-static library <https://github.com/godotengine/godot-nir-static/releases/>`_.
180189
We compile the Mesa libraries you will need into a static library. Download it
181190
anywhere, unzip it and remember the path to the unzipped folder, you will
182191
need it below.
@@ -189,14 +198,14 @@ To compile Godot with Direct3D 12 support you need at least the following:
189198
2. Clone the `godot-nir-static <https://github.com/godotengine/godot-nir-static>`_
190199
directory and navigate to it.
191200
3. Run the following::
192-
201+
193202
git submodule update --init
194203
./update_mesa.sh
195204
scons
196205

197206
If you are buildng with MinGW, add ``use_mingw=yes`` to the ``scons``
198207
command, you can also specify build architecture using ``arch={architecture}``.
199-
208+
200209
Mesa static library should be built using the same compiler you are
201210
using for building Godot.
202211

@@ -215,7 +224,7 @@ Optionally, you can compile with the following for additional features:
215224
will be taken to a NuGet package page where you can click "Download package"
216225
to get it. Once downloaded, change the file extension to .zip and unzip the
217226
file to some path.
218-
227+
219228
.. note:: If you use a preview version of the Agility SDK, remember to enable
220229
developer mode in Windows; otherwise it won't be used.
221230

@@ -235,8 +244,8 @@ look for the additional libraries:
235244

236245
.. code-block:: doscon
237246
238-
C:\godot> scons platform=windows d3d12=yes dxc_path=<...> mesa_libs=<...>
239-
247+
C:\godot> scons platform=windows d3d12=yes dxc_path=<...> mesa_libs=<...>
248+
240249
Or, with all options enabled:
241250

242251
.. code-block:: doscon
@@ -276,20 +285,20 @@ By default, Godot is built with dynamically linked ANGLE, you can use it by plac
276285

277286
To compile Godot with statically linked ANGLE:
278287

279-
- Download pre-built static libraries from `godot-angle-static library <https://github.com/godotengine/godot-angle-static/releases>`_, and unzip them.
288+
- Download pre-built static libraries from `godot-angle-static library <https://github.com/godotengine/godot-angle-static/releases>`_, and unzip them.
280289
- When building Godot, add ``angle_libs={path}`` to tell SCons where to look for the ANGLE libraries::
281-
282-
scons platform=windows angle_libs=<...>
290+
291+
scons platform=windows angle_libs=<...>
283292

284293
.. note:: You can optionally build the godot-angle-static libraries yourself with
285294
the following steps:
286295

287296
1. Clone the `godot-angle-static <https://github.com/godotengine/godot-angle-static>`_
288297
directory and navigate to it.
289298
2. Run the following command::
290-
299+
291300
scons
292-
301+
293302
If you are buildng with MinGW, add ``use_mingw=yes`` to the command,
294303
you can also specify build architecture using ``arch={architecture}``.
295304

0 commit comments

Comments
 (0)