WARNING: this page was recovered from archive.org after the wiki disk crash, and any file links it has on it may be dead or point to archive.org for the time being. Also, some information on this page was out of date before the crash, for instance all new MAME/MESS versions which include HLSL support need the dx9 and dx9x headers from WINE, the installation instructions which I do not know of at this time. - Lord Nightmare, 4/2/2012

Build Tools

NOTE: The compiler used for MESS and MAME has changed since the release of 0.136. You will need to get different build tools depending on if you are compiling from SVN or the 0.136 release source.

This page is basically a mirror of the MAME development tools page. MAME and MESS are usually compiled using the free GCC compiler. Currently we are using a pre-release of version 4.4.3, included with the mingw-w64 development environment.

You can either get the various tools yourself from the mingw-w64 download page, or use the packages below that Aaron Giles put together.

Root directory

Create a directory for the tools, usually this will be simply called mingw.

MinGW package

Choose one:

Move the .exe file into your mingw directory and run it. This will extract the compiler, various tools, libraries and standard include files.

HTML Help Workshop

Optional… (only used by messui and wimgtool)

If you want to be able to build the mess.chm help file, you will need the HTML Help Workshop, otherwise you can skip this… If you want to build the help file, the HTML Help Workshop can be downloaded from microsoft.com using the link below. Download htmlhelp.exe from this page…

If you install this, make sure to add the directory where it installs hhc.exe to your path either in your global %PATH% environment variable, or local each time you want to compile. The default path where it installs is: C:\Program Files\HTML Help Workshop


For the 0.136 compile tools, you will also need DirectX headers, which are not included in the above package. Download dx80_mgw.zip and extract the following files into your mingw/include directory:

  • d3d8.h
  • d3d8caps.h
  • d3d8types.h
  • ddraw.h
  • dinput.h
  • dsound.h

WARNING: The above information is no longer complete! since HLSL was added, some new headers are needed as well. Ask on Freenode #mame or on the mameworld or bannister forums for info until someone fixes this page.


All that is left is to add the compiler to your path, either in your global %PATH% environment variable, or local each time you want to compile.

SVN 64-bit:

set path=mingw\mingw64-w64\bin;%PATH%

SVN 32-bit:

set path=mingw\mingw64-w32\bin;%PATH%


set path=mingw\bin;%PATH%