Skip to content

Windows build HOWTO

Massimo Callegari edited this page May 22, 2013 · 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://releases.qt-project.org/qt4/source/
and install them in C:\Qt

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

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 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)

Most likely the plugins folder will contain ".a" binaries. Rename them to ".dll" to let QLC+ load them.