Skip to content

Windows build HOWTO

janosvitok edited this page May 18, 2015 · 37 revisions

Prepare QT and MinGW32 build system

Download MinGW installer here:
http://sourceforge.net/projects/mingw/files/Installer/mingw-get-inst/
and install both MinGW and MSYS in the default path proposed by the installer.
When asked, remember to install the c++ compiler.

Get latest Qt prebuilt for MinGW32 here:
http://download.qt-project.org/official_releases/qt/
and install them in C:\Qt

Make sure your environment variables are set as follows:
QMAKESPEC = win32-g++
QTDIR = C:\Qt\4.8.5
PATH = ....;C:\Qt\4.8.5\bin;C:\Qt\4.8.5;C:\MinGW\bin

QLC+ sources

If you wish to get the latest released QLC+ version:
http://www.qlcplus.org/downloads.html

If you wish to get the very latest bleeding edge (but only if your intention is to do development or are just curious): git clone git://github.com/mcallegari/qlcplus.git

This will create a directory called qlcplus which will contain the latest sources from GIT repository. After you have made the initial clone and later wish to keep living on the bleeding egde, you can just update the sources (instead of making a new checkout each time):

cd qlcplus
git pull

Prerequisites

Download pkg-config prebuilt binaries and install them in the MinGW tree
http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/

I used this: http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/pkg-config_0.26-1_win32.zip

Download glib devel libraries needed by pkg-config: http://ftp.gnome.org/pub/gnome/binaries/win32/glib/
I used this: http://ftp.gnome.org/pub/gnome/binaries/win32/glib/2.24/glib_2.24.0-2_win32.zip

Audio input support

Download from this URL: http://lrn.no-ip.info/other/mingw/mingw32/
the -ming32-dev version of the fftw3 package and extract it in the MinGW tree.

Audio output support (optional)

Download from this URL: http://lrn.no-ip.info/other/mingw/mingw32/
the -ming32-dev version of the following packages and extract them in the MinGW tree:

  • libmad
  • libsndfile
  • flac
  • libogg
  • libvorbis

FTDI DMX USB Support

To compile the DMX USB plugin on Windows, you need to:

Download the latest SDK from FTDI Driver page.
Install the package contents for example to C:\Qt\CDM20828
Edit /plugins/dmxusb/src/src.pro to point to that directory:

FTD2XXDIR = C:\Qt\CDM20828

If you don't need the DMX USB plugin and would like to disable building it completely, edit /plugins/plugins.pro and put a hash (#) on the line that says SUBDIRS += dmxusb:

#SUBDIRS += dmxusb

Velleman SDK

To compile the Velleman Output plugin on Windows, you need to:

Download the modified Velleman SDK
Unpack the zip to C:\Qt\K8062D
Not applicable yet: If you don't need the Velleman Output plugin and would like to disable building it completely, edit /plugins/plugins.pro and put a hash (#) on the line that says SUBDIRS += velleman:

#SUBDIRS += velleman

OSC support library (liblo)

Note: if you don't need the OSC support just comment SUBDIRS += osc in plugins/plugins.pro and skip this section.

Download the latest SVN snapshot of liblo from here: http://sourceforge.net/projects/liblo/
Compile libLO by doing:

./autogen.sh
./configure --enable-static --disable-shared --prefix=/mingw
make
make install

Now you need to manually patch libLO pkg-config file to avoid build issues. Edit the file liblo.pc that you can find in your MinGW installation path /lib/pkgconfig folder. (usually C:\MinGW\lib\pkgconfig)
Change the line starting with "Libs:" into:
Libs: -L${libdir} -llo -lpthread -lws2_32 -liphlpapi

Build QLC+

Now compile QLC+ (I use Windows PowerShell to do so):
qmake
make
make install

Post installation

Now to launch QLC+ the dependency libraries are needed as DLLs files. Download from this URL: http://lrn.no-ip.info/other/mingw/mingw32/
the -mingw32-dll version of the following packages and copy them in the main QLC+ folder:

  • libFLAC-8.dll (optional - see Audio support)
  • libmad-0.dll (optional - see Audio support)
  • libogg-0.dll (optional - see Audio support)
  • libsndfile-1.dll (optional - see Audio support)
  • libstdc++-6.dll (optional for OSC support)
  • libvorbis-0.dll (optional - see Audio support)
  • libvorbisenc-2.dll (optional - see Audio support)
  • pthreadGC2.dll (optional for OSC support)

For FFTW the correct DLL (32 bit version) must be downloaded from here: http://www.fftw.org/install/windows.html

If the plugins folder will contain ".a" binaries, rename them to ".dll" to let QLC+ load them.