The RtAudio Home Page

Home Class/Enum List File List Compound Members

Debugging & Compiling

# Debugging

If you are having problems getting RtAudio to run on your system, make sure to pass a value of true to the RtAudio::showWarnings() function (this is the default setting). A variety of warning messages will be displayed which may help in determining the problem. Also, try using the programs included in the `tests` directory. The program `audioprobe` displays the queried capabilities of all hardware devices found for all APIs compiled. When using the ALSA and JACK APIs, further information can be displayed by defining the preprocessor definition RTAUDIO_DEBUG.

# Compiling

In order to compile RtAudio for a specific OS and audio API, it is necessary to supply the appropriate preprocessor definition and library within the compiler statement:

OS: | Audio API: | C++ Class: | Preprocessor Definition: | Library or Framework: | Example Compiler Statement:
Linux | ALSA | RtApiAlsa | __LINUX_ALSA__ | `asound, pthread` | `g++ -Wall -D__LINUX_ALSA__ -o audioprobe audioprobe.cpp RtAudio.cpp -lasound -lpthread`
Linux | PulseAudio | RtApiPulse | __LINUX_PULSE__ | `pthread` | `g++ -Wall -D__LINUX_PULSE__ -o audioprobe audioprobe.cpp RtAudio.cpp -lpthread -lpulse-simple -lpulse`
Linux | OSS | RtApiOss | __LINUX_OSS__ | `pthread` | `g++ -Wall -D__LINUX_OSS__ -o audioprobe audioprobe.cpp RtAudio.cpp -lpthread`
Linux or Macintosh OS-X | Jack Audio Server | RtApiJack | __UNIX_JACK__ | `jack, pthread` | `g++ -Wall -D__UNIX_JACK__ -o audioprobe audioprobe.cpp RtAudio.cpp $(pkg-config –cflags –libs jack) -lpthread`
Macintosh OS-X | CoreAudio | RtApiCore | __MACOSX_CORE__ | `pthread, CoreAudio` | `g++ -Wall -D__MACOSX_CORE__ -o audioprobe audioprobe.cpp RtAudio.cpp -framework CoreAudio -framework CoreFoundation -lpthread`
Windows | Direct Sound | RtApiDs | __WINDOWS_DS__ | `dsound.lib (ver. 5.0 or higher), multithreaded` | MinGW: `g++ -Wall -D__WINDOWS_DS__ -o audioprobe audioprobe.cpp RtAudio.cpp -lole32 -lwinmm -ldsound`
Windows | ASIO | RtApiAsio | __WINDOWS_ASIO__ | various ASIO header and source files | MinGW: `g++ -Wall -D__WINDOWS_ASIO__ -Iinclude -o audioprobe audioprobe.cpp RtAudio.cpp asio.cpp asiolist.cpp asiodrivers.cpp iasiothiscallresolver.cpp -lole32`
Windows | WASAPI | RtApiWasapi | __WINDOWS_WASAPI__ | MinGW: `FunctionDiscoveryKeys_devpkey.h, lksuser, luuid, lwinmm, lole32` | MinGW: `g++ -Wall -D__WINDOWS_WASAPI__ -Iinclude -o audioprobe audioprobe.cpp RtAudio.cpp -lole32 -lwinmm -lksuser -luuid`

The example compiler statements above could be used to compile the `audioprobe.cpp` example file, assuming that `audioprobe.cpp`, `RtAudio.h`, `RtAudio.cpp` and any other necessary files all exist in the same directory or the include directory.

| ©2001-2017 Gary P. Scavone, McGill University. All Rights Reserved. Maintained by Gary P. Scavone.