Skip to content

Compiling

Jonathan edited this page Apr 19, 2020 · 21 revisions

Home > Compiling (for geeks and Linux users)

Linux

Required packages:

  • Build-Essential
  • Qt4/Qt5 (devel packages, too!)
  • Jack (devel packages, too!)
  • qjackctl can be a good help configure jack.

On the most common Linux distributions, the following command should prepare the system for compilation:

sudo apt-get install build-essential libqt4-dev libjack-jackd2-dev

On Fedora use:

sudo dnf install jack-audio-connection-kit-dbus jack-audio-connection-kit-devel qt5-qtdeclarative-devel

qmake Jamulus.pro
make clean
make

Run the application with $ ./Jamulus

Note that the "make clean" is essential to remove the automatically generated Qt files which are present in the .tar.gz file and may not match the Qt version you are using.

To use an external shared OPUS library instead of the built-in use qmake "CONFIG+=opus_shared_lib" Jamulus.pro.

To use this file configure the software with qmake "CONFIG+=noupcasename" Jamulus.pro to make sure the output target name of this software is jamulus instead of Jamulus.

Jamulus is also compatible with Qt5.

To configure and run Jamulus as a server, see the server documentation.

MacOS

Requirements

  1. Install XCode
  2. Install QT as follow
brew install qt5
brew link qt5 --force

Build project

Generate XCode Project file

qmake -spec macx-xcode Jamulus.pro

Print build targets and configuration in console

xcodebuild -list -project Jamulus.xcodeproj

will prompt

    Targets:
        Jamulus
        Qt Preprocess

    Build Configurations:
        Debug
        Release

    If no build configuration is specified and -scheme is not passed then "Release" is used.

    Schemes:
        Jamulus

Build the project

xcodebuild build

Will build the file and make it available in ./Release/Jamulus.app

Windows

Required software: QT, a compiler like Visual Studio, ASIO development files

  • copy ASIO development files in llcon/windows directory so that, e.g., the directory llcon/windows/ASIOSDK2/common exists
  • open Jamulus.pro in Qt Creator and compile & run