Required Libraries

From OdaWiki

The Odamex client and launcher require extra libraries which are not usually included with your operating system.

SDL2

SDL2 is a crossplatform library used to display graphics. It is required in order to compile the Odamex client.

Windows

SDL2 comes with no installer on Windows, you simply extract the zip into a random directory and reference it. Pointing your compiler at SDL2 is discussed in the compiler-specific pages.

You want to grab the Development Library on this page that compliments your compiler.

  • • If you are using Visual Studio, get the one labeled "VC".
  • • If you are using MinGW, get the one labeled "Mingw32". If you don't have anything to extract a tar.gz file with, install 7-zip. You will also need to download the library itself, as the MinGW package does not come with the .dll file.

Linux

There is usually a copy of SDL2 and SDL2_mixer included in the repositories of your distribution of choice:

  • • CentOS (requires EPEL for SDL2_mixer): yum install SDL2-devel
  • • Debian: apt-get install libsdl2-dev
  • • Fedora: yum install SDL2-devel
  • • openSUSE: zypper in SDL2-devel
  • • Ubuntu: aptitude install libsdl2-dev

Otherwise, you can grab the latest source distribution of SDL2 from here.

SDL2_mixer

SDL2_mixer is a compliment to SDL2, and handles both sound and music. It is required in order to compile the Odamex client.

Windows

SDL2_mixer comes with no installer on Windows, you simply extract the zip into a random directory and reference it. Pointing your compiler at SDL2_mixer is discussed in the compiler-specific pages.

You want to grab the Development Library on this page. It is labeled SDL2_mixer-devel and works with both Visual Studio and MinGW.

Linux

There is usually a copy of SDL and SDL_mixer included in the repositories of your distribution of choice:

  • • CentOS (requires EPEL for SDL2_mixer): yum install SDL2_mixer-devel
  • • Debian: apt-get install libsdl2-mixer-dev
  • • Fedora: yum install SDL2_mixer-devel
  • • openSUSE: zypper in SDL2_mixer-devel
  • • Ubuntu: aptitude install libsdl2-mixer-dev

Otherwise, you can grab the latest source distribution of SDL2_mixer from here.

wxWidgets

wxWidgets is a library used to display graphical user interfaces. It is required in order to compile the Odamex launcher.

Windows

wx on Windows is a peculiar beast. While it comes with an installer, you have to compile it yourself in order to generate the proper files for compiling Odalaunch.

  1. Download and wxWidgets 2.8 for MSW here.
  2. Run the installer. It is recommended to keep the default installation directory (in particular do not install it to Program Files).
  3. Follow these instructions if you are using MinGW.
    1. Make sure that MinGW is installed properly and that c:\MinGW\bin is in your path.
    2. Open up a Command Prompt and change to the C:\wxWidgets-2.8.##\build\msw directory.
    3. Run mingw32-make -f makefile.gcc MONOLITHIC=0 UNICODE=0 SHARED=0 BUILD=release
    4. Change to the C:\wxWidgets-2.8.##\utils\wxrc directory.
    5. Run the same command you ran in step 3.
    6. You're done!
  4. Follow these instructions if you are using Visual C++.
    1. Open up a Visual Studio Command Prompt. There is a shortcut for this in the Visual Studio folder of your Start menu.
    2. Change to the C:\wxWidgets-2.8.##\build\msw directory.
    3. Run nmake -f makefile.vc MONOLITHIC=0 UNICODE=0 SHARED=0 BUILD=release
    4. Change to the C:\wxWidgets-2.8.##\utils\wxrc directory.
    5. Run the same command you ran in step 3.
    6. You're done!