Build Quassel on Windows » History » Version 8

Version 7 (sph, 01/20/2009 02:46 AM) → Version 8/35 (Datafreak, 10/29/2009 10:21 AM)

h1. Building Quassel on Windows


h2. Software Requirements

* Windows
* "Visual C++ 2008 Express": 2005 Express":
* "Visual C++ 2008 Redistributables":
* "Platform SDK": SDK":
* "DirectX SDK":
* "msysgit": (>=
* "CMake":
* "Qt for Open Source C++ development on Windows": *(not MinGW)* (>= 4.5.3)

h2. Installation

h3. Step 1: Install Visual C++ 2008 2005 Express

h3. Step 2: Install Visual C++ 2008 Redistributables.

These will be needed for OpenSSL.

h3. Step 3: Install Platform SDK

h3. Step 4: DirectX SDK

h3. Step 4:
Install OpenSSL

The first error message can be ignored as the Redistributables were installed.

Now you have to copy the "C:\OpenSSL\lib\VC\ssleay32MT.lib" file to "C:\OpenSSL\lib\VC\ssleay32.lib".

Do the same with "C:\OpenSSL\lib\VC\static\ssleay32MT.lib" to "C:\OpenSSL\lib\VC\static\ssleay32.lib".

Now open the "C:\OpenSSL\include\openssl\ossl_typ.h" file with an editor and comment out line 178:
<pre>/* typedef struct ocsp_response_st OCSP_RESPONSE; */</pre>

h3. Step 5: Install Git

h3. Step 6: Install CMake

h3. Step 7: Update the environment variables

Go to the system settings (Start => Control Panel => System), go to the "Advanced" tab and click on Environment Variables.

First you'll have to edit the "Path" variable. Append the following to the current value:
<pre>C:\Program Files\Microsoft SDKs\Windows\v6.1\Bin;C:\Program Files\Git\bin;C:\OpenSSL\bin</pre>

Next, create the following new system variables:

* LIB:
<pre>C:\Program Files\Microsoft SDKs\Windows\v6.1\Lib;C:\OpenSSL\lib\VC\static;C:\OpenSSL\lib</pre>
<pre>C:\Program Files\Microsoft SDKs\Windows\v6.1\Include;C:\OpenSSL\include</pre>

h3. Step 8: Compile and Install Qt

Create a directory (e.g. C:\dev\) and unpack Qt.

Now open the Visual Studio 2008 2005 command line.

And cd to the directory containing Qt. Now you can configure the Qt installation with the following command:
<pre>configure.exe <pre>configure -platform win32-msvc2008 win32-msvc2005 -static -release -qt-sql-sqlite -no-qt3support -qt-zlib -qt-gif -qt-libpng -qt-libmng -qt-libtiff -qt-libjpeg -openssl-linked -confirm-license -opensource -no-phonon -no-dbus -prefix C:\dev\qt-win-opensource-src-4.5.3</pre> C:\dev\qt-win-opensource-src-4.4.3 -confirm-license</pre>

Then you can compiled Qt with these commands:
nmake sub-winmain
nmake sub-moc
nmake sub-rcc
nmake sub-uic
nmake sub-corelib
nmake sub-xml
nmake sub-network
nmake sub-gui
nmake sub-sql
nmake sub-script
nmake sub-testlib
nmake sub-opengl
nmake sub-xmlpatterns
nmake sub-phonon
nmake sub-svg
nmake sub-webkit
nmake sub-plugins
nmake sub-tools
nmake sub-tools-qdoc3

You can close the prompt after this.

h3. Step 9: Update the environment variables again

After installing Qt, you will have to append the following:

* Path
<pre>;C:\dev\qt-win-opensource-src-4.5.3\bin</pre> <pre>;C:\dev\qt-win-opensource-src-4.4.3\bin</pre>

* LIB:
<pre>;C:\dev\qt-win-opensource-src-4.5.3\lib</pre> <pre>;C:\dev\qt-win-opensource-src-4.4.3\lib</pre>

<pre>;C:\dev\qt-win-opensource-src-4.5.3\include</pre> <pre>;C:\dev\qt-win-opensource-src-4.4.3\include</pre>

h3. Step 10: Compile Quassel

Open a new Visual Studio 2008 2005 command line and go to the "C:\dev" directory again. Use git to download the Quassel source code.
<pre>git clone git://</pre>

This will create a new directory "quassel" containing the source. When you want to update Quassel later, you just have to go to this directory (C:\dev\quassel) and do a "git pull" to update the source code.

Next, create a new directory in "C:\dev" in which Quassel will be built. In our case, we will simply call it "build". Change to this directory and enter the following command to configure Quassel:
<pre>cmake -G"NMake Makefiles" C:\dev\quassel -DSTATIC=1 -DWANT_CORE=ON -DWANT_QTCLIENT=ON -DWANT_MONO=ON</pre>

And after that:

This will build Quasselcore, Quasselclient and Quasselmonolithic which can be found in the "C:\dev\build" directory.

h2. Related links

* "German tutorial by Datafreak":