summaryrefslogtreecommitdiffstatshomepage
path: root/docs/source/initialsetup
diff options
context:
space:
mode:
author Vas Crabb <vas@vastheman.com>2022-07-01 17:55:49 +1000
committer Vas Crabb <vas@vastheman.com>2022-07-01 17:55:49 +1000
commit8d4bbaddd435e991882287e7bc1259dc53c507d5 (patch)
tree6284bfc62d58b2595c3664b0de9e2043856a995f /docs/source/initialsetup
parent1bf5abd693e11e103ef7265f99ad0d12d3545ae4 (diff)
docs: Added notes about issues building MAME with Visual Studio
Diffstat (limited to 'docs/source/initialsetup')
-rw-r--r--docs/source/initialsetup/compilingmame.rst31
1 files changed, 31 insertions, 0 deletions
diff --git a/docs/source/initialsetup/compilingmame.rst b/docs/source/initialsetup/compilingmame.rst
index 3c8fddd26fc..b6c7d07e5bc 100644
--- a/docs/source/initialsetup/compilingmame.rst
+++ b/docs/source/initialsetup/compilingmame.rst
@@ -673,6 +673,37 @@ around it by adding **-U_FORTIFY_SOURCE** to the compiler flags (e.g. by using
the **ARCHOPTS** setting, or setting the **CFLAGS** and **CXXFLAGS** environment
variables.
+Issues affecting Microsoft Visual Studio
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+Microsoft introduced a new version of XAudio2 with Windows 8 that’s with the
+version included with DirectX for prior Windows versions at the API level.
+Newer versions of the Microsoft Windows SDK include headers and libraries for
+the new version of XAudio2. By default, the target Windows version is set to
+Windows Vista (6.0) when compiling MAME, which prevents the use this version of
+the XAudio2 headers and libraries. To build MAME with XAudio2 support using the
+Microsoft Windows SDK, you must do one of the following:
+
+* Add ``MODERN_WIN_API=1`` to the options passed to make when generating the
+ Visual Studio project files. This will set the target Windows version to
+ Windows 8 (6.2). The resulting binaries may not run on earlier versions of
+ Windows.
+* Install the DirectX SDL and configure the **osd_windows** project to search
+ the DirectX header/library paths before searching the Microsoft Windows SDK
+ paths.
+
+The MSVC compiler produces spurious warnings about potentially uninitialised
+local variables. You currently need to add ``NOWERROR=1`` to the options passed
+to make when generating the Visual Studio project files. This stops warnings
+from being treated as errors. (MSVC seems to lack options to control which
+specific warnings are treated as error, which other compilers support.)
+
+There is an as-yet unresolved issue with duplicate COM GUIDS being defined in
+the PortAudio library when the target Windows version is set to Windows Vista
+(6.0) or later. To work around this, add ``NO_USE_PORTAUDIO=1`` to the options
+passed to make when generating the Visual Studio project files. MAME will be
+built without support for sound output via PortAudio.
+
.. _compiling-unusual: