Windows (98 SE/ME/2000) Command-line Compilation / Development GuideLink
To compile RetroArch on the command-line targeting Windows NT4, Windows 98SE, Windows Millenium Edition or Windows 2000, we will use a combination of the MSYS2 shell and Microsoft Visual C++ 2005.
This guide assumes the host OS is Windows Vista or later, as MSYS2 cannot be installed on anything older.
DirectX SDK February 2005 (any version up to December 2006 should work to target 98SE)
Visual C++ 2005 Express (or Pro)
Windows 98 Second Edition is supported, but First Edition has not been tested. If you do try to target it, make sure that your DirectX SDK is no newer than July 2004.
In lieu of having to install the full Visual Studio suite, a minimal toolchain can be created by copying the
VC folders from an installation on another machine (usually located at
C:\Program Files (x86)\Microsoft Visual Studio 8). For this example we will use a root folder of
C:\mini-msvc to hold everything, and those two folders from the MSVC installation will be copied into a directory under the root folder called
The same thing can be done with the DirectX and Platform SDKs, just copy the
Lib folders from an existing installation (usually located at
C:\Program Files (x86) in
Microsoft DirectX SDK (June 2010) and
Microsoft Platform SDK respectively) into folders in the root such as
First you will need the MSYS2 distribution. You can download the MSYS2 installer from here.
Follow the installation instructions and once finished start the MSYS2 shell.
First we need to install the
pacman -S make
Then we need to obtain RetroArch's source tree.
You can clone the repository directly from GitHub:
git clone https://github.com/libretro/RetroArch.git retroarch
For subsequent builds you will need to pull the changes from the repo
cd retroarch git pull
To compile RetroArch, run:
make -f Makefile.griffin platform=windows_msvc2005_x86
If you do not want to compile in DirectX support, you can add
HAVE_DIRECTX=0 to the end of the command line. Currently it is necessary to disable DirectX support when targeting NT4.
If you are only using a minimal toolchain as described above, you can instead specify the location of the folders
plat2003sp1 like this:
make -f Makefile.griffin platform=windows_msvc2005_x86 VS80COMNTOOLS="c:\\mini-msvc\\msvc2005\\Common7\\Tools\\" INETSDK="c:\\mini-msvc\\plat2003sp1" DXSDK_DIR="c:\\mini-msvc\\dx9_feb2005"
The trailing slash at the end of the COMNTOOLS variable is mandatory.
Also, any of the paths can optionally be left out to use the system version instead.
After the build is finished you should be able to find retroarch.exe in the current directory. To start the newly compiled retroarch, copy the .exe file to a new folder where its configuration files and folders will be automatically created on first run. Running the .exe file inside of the source directory is not recommended as it will overwrite existing files.