# Difference between revisions of "Getting Started/Build/Windows/GCC And MinGW"

Tip

cleanup confusing sections and fix sections which contain a todo

## Contents

### Introduction

This step-by-step tutorial shows how to get the current kdelibs from the upcoming KDE4 based on Qt4 compiled under Microsoft Windows.

### Installing kdewin-installer

This is an installer that lets you easily install all the requirements for building kdelibs. It also has a list of tools in its list that are helpful and needed, like the mingw compiler suite, subversion clients, debugging tools and so on.

The kdewin-installer is available in a GUI and console-only form from: the kdewin-installer download page.

### Using kdewin-installer to install the requirements

For the GUI version: If you are running the Installer for the first time, you should have a look in the Settings page (klick on the button 'Settings'). You can select another installation directory if you want. I suggest to choose one that has no spaces in it for now, as it seems some parts of the kde4 buildsystem have problems with that. Choose the compiler you use and accept the Settings.

You'll see a tree of all available packages on the right side. In that tree select kdesupport-mingw and win32libs in the all category under the dependecies subtree. This should select all packages that are needed to build kdelibs.

Additionally you might want to select the MinGW, cmake, TortoiseSVN, mingw-utils and zip package from the tools category if you haven't already installed those. TortoiseSVN lets you checkout kde4 from subversion, cmake is a required buildtool and mingw contains the compiler.

After clicking on 'Finish' the installer will download and install the packages. For mingw, cmake and tortoise it only downloads and starts an installer executable so expect more installation dialogs from those.

### Setting up the users environment

The next step is setting up a proper environment to build KDE4 applications. This includes setting the PATH variable and some additional variables needed for CMake and running KDE applications.

The path C:\kde4\win32libs is used as the installation directory from the kdewin-installer, C:\kde4\kdelibs-install as the path where all kde4 modules will be installed to. Obviously you have to change the actual values to suite your system. The Sources from SVN reside in C:\kde4\kdelibs-src.

Create a file environment.bat and add the following lines:
@set SOURCE_PATH=C:\kde4\kdelibs-src
@set INSTALL_PATH=C:\kde4\kdelibs-install
@set UTILS_PATH=C:\kde4\win32libs

@set DBUSDIR=%UTILS_PATH%
@set KDEDIRS=%UTILS_PATH%;%INSTALL_PATH%
@set KDEWIN_DIR=%UTILS_PATH%
@set PATH=%PATH%;%UTILS_PATH%\bin;%INSTALL_PATH%\bin;%INSTALL_PATH%\lib
@set QT_PLUGIN_PATH=%INSTALL_PATH%\lib\kde4\plugins;%UTILS_PATH%\plugins
@set STRIGI_HOME=%UTILS_PATH%
@set XDG_DATA_DIRS=%UTILS_PATH%\share;%INSTALL_PATH%\share


You will have to run this file every time you start a new cmd-shell. If you don't want to run this file you can make the variable entries permanent: Open up the control panel and select the System Entry. Then go to the Extended tab and select Environment Variables. In the section titled 'user variables' add the above entries. You should have cmake and mingw32-make etc. in your path as well.

### Building kdelibs from svn

Now that all requirements are installed and the environment variables are set you can checkout the kdelibs module from
svn://anonsvn.kde.org/home/kde/trunk/KDE/kdelibs
into the dedicated source directory.

Afterwards create a new subdirectory inside the kdelibs source directory named build. Then open a command console, select Start->Run Command and type cmd into the field. Then navigate to the just created build directory.

The next step is running CMake. For an easy start just run (Using the installation directory that was set in the environment variables section):

cmake -G "MinGW Makefiles" .. -DCMAKE_INSTALL_PREFIX=%INSTALL_PATH%\
-DCMAKE_INCLUDE_PATH=%UTILS_PATH%\include\
-DCMAKE_LIBRARY_PATH=%UTILS_PATH%\lib


This command should appear in just one line.

You can set other CMake variables in the same way, also interesting might be to create a debug build. This can be achieved by adding -DCMAKE_BUILD_TYPE=Debug.

Now you can let MinGW build and install the module by issuing
mingw32-make
mingw32-make install


This will take some time.

### Building KDE4 applications

The process for building other modules that contain applications that are of interest for you is the same as the process you've just done for kdelibs. There might be additional requirements for some KDE4 modules that you have to build first, in particular kdebase might be required (which in turn requires kdepimlibs).

### Running KDE4 applications

This can be done from the same command window where you've built KDE4. Just type the application name and hit enter. This should automatically start all kde4 daemons and dbus which are required to run for kde4 applications.

For example after building and installing both kdevplatform and kdevelop module the KDevelop4 IDE can be started by executing kdevelop. If you get some errors about missing DLLs, make sure that all DLLs are set up in your PATH variable. You can add the path either by changing the environment variables over the control panel (be sure to restart cmd.exe!) or by entering (if C:\example\path\to\dll\lib is the location of the dll):

C:\>set PATH=%PATH%;C:\example\path\to\dll\lib


KDE® and the K Desktop Environment® logo are registered trademarks of KDE e.V.Legal