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`
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 -lpthread`
Windows | Direct Sound | RtApiDs | __WINDOWS_DS__ | `dsound.lib (ver. 5.0 or higher), multithreaded` | compiler specific
Windows | ASIO | RtApiAsio | __WINDOWS_ASIO__ | various ASIO header and source files | compiler specific

The example compiler statements above could be used to compile the `audioprobe.cpp` example file, assuming that `audioprobe.cpp`, `RtAudio.h`, `RtError.h`, and `RtAudio.cpp` all exist in the same directory.

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