Difference between revisions of "Getting Started/Build/Windows/MS Visual Studio"

Jump to: navigation, search
(Visual Studio 2008 SP1)
 
(9 intermediate revisions by 3 users not shown)
Line 24: Line 24:
 
Install it using the Web Install (downloader) at [http://www.microsoft.com/express/download/ http://www.microsoft.com/express/download]. It takes about 130 MB of download, assuming no MS SQL Server is selected.  
 
Install it using the Web Install (downloader) at [http://www.microsoft.com/express/download/ http://www.microsoft.com/express/download]. It takes about 130 MB of download, assuming no MS SQL Server is selected.  
  
The installer also downloads the Windows SDK, that are also needed to compile KDE components.
+
The installer also downloads the Windows SDK. It is installed into %PROGRAMFILES%\Microsoft SDKs\Windows.
 +
Only version 6.0a is installed by the Visual Studio 2008 Express installer, while 6.1 is required to compile KDE components. So also download and install [http://www.microsoft.com/downloads/details.aspx?FamilyID=e6e1c3df-a74f-4207-8586-711ebe331cdc&displaylang=en version 6.1, i.e. Windows SDK for Windows Server 2008] by hand. See also the [http://msdn.microsoft.com/en-us/windowsserver/dd146047.aspx Which SDK is Right for Me?] document.
 +
 
 +
=== Improve Integration with the Visual Studio Environment ===
 +
-> [[Development/Tutorials/Debugging/Debugging_on_MS_Windows#Enable_automatic_expanding_of_Qt_data_structures|Enable automatic expanding of Qt data structures]]
  
 
=== CMake ===
 
=== CMake ===
Line 39: Line 43:
  
 
=== Qt 4 ===
 
=== Qt 4 ===
This Framework can be downloaded with the installer, or you can [[Getting_Started/Build/KDE4/Windows/Building Qt 4|build it on your own]].
+
This Framework can be downloaded with the installer, or you can [[Getting_Started/Build/Windows/Building Qt 4|build it on your own]].
  
 
=== KDESupport Libraries ===
 
=== KDESupport Libraries ===
There are several libraries which will be required for building kdelibs. [[Getting Started/Build/KDE4/Windows/Building KDESupport Libraries|You may want to compile them yourself]] or simply download them using the KDEWin-Installer. You will need:
+
There are several libraries which will be required for building kdelibs. [[Getting Started/Build/Windows/Building KDESupport Libraries|You may want to compile them yourself]] or simply download them using the KDEWin-Installer. You will need:
 
*kdewin32 (compiled with msvc)
 
*kdewin32 (compiled with msvc)
 
*strigi
 
*strigi
Line 50: Line 54:
  
 
=== Environment Settings ===
 
=== Environment Settings ===
To set up a build environment, follow the steps over [[Getting Started/Build/KDE4/Windows/Environment|here]]. '''If you have Cygwin installed, please be sure to remove Cygwin's /bin out of your path.'''
+
To set up a build environment, follow the steps over [[Getting Started/Build/Windows/Environment|here]]. '''If you have Cygwin installed, please be sure to remove Cygwin's /bin out of your path.'''
  
 
== Build KDElibs ==
 
== Build KDElibs ==
Line 95: Line 99:
 
*ask for more help on [https://mail.kde.org/mailman/listinfo/kde-buildsystem kde-buildsystem@kde.org] mailing list
 
*ask for more help on [https://mail.kde.org/mailman/listinfo/kde-buildsystem kde-buildsystem@kde.org] mailing list
 
*whenever you update your checkout DON'T forget to rebuild '''AND''' reinstall kdewin32.lib
 
*whenever you update your checkout DON'T forget to rebuild '''AND''' reinstall kdewin32.lib
 +
*Don't use an automoc4 executable with spaces in the path, or you will get strange error messages when running nmake (seems to be a nmake bug)
  
 
== Going further: kdepimlibs ==
 
== Going further: kdepimlibs ==
Line 171: Line 176:
  
 
==Useful links==
 
==Useful links==
*[[Getting_Started/Build/KDE4/Windows/3rd-party_libraries|List of libraries that are needed to build KDE on windows]] (most of these are already installed by the kde-installer) .
+
*[[Getting_Started/Build/Windows/3rd-party_libraries|List of libraries that are needed to build KDE on windows]] (most of these are already installed by the kde-installer) .
  
  
 
[[Category:MS Windows]]
 
[[Category:MS Windows]]

Latest revision as of 11:53, 3 March 2011

noframe
 
This section needs improvements: Please help us to

cleanup confusing sections and fix sections which contain a todo


This page is outdated - please don't use it anymore unless you know exactly what you do. Use emerge instead
Ktip.png
 
Tip
Note: This page is about KDE 4. It isn't applicable for KDE 3 development.
noframe
 
This section needs improvements: Please help us to

cleanup confusing sections and fix sections which contain a todo


This page has been moved out of kdelibs.com wiki page.

Contents

[edit] Basic Tools

[edit] Kdewin-Installer

This is a program 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.

[edit] The Compiler

noframe
 
Note
It is recommended to install Visual studio into a path not containing spaces. To do this, change the installation path from the proposed ..\Program Files\ to something like c:\vc9.
noframe
 
Warning
Visual Studio 2005 SP1 or free (as in beer) Express 2005 are no longer supported. Moreover the Express version is not available at microsoft.com.


[edit] Visual Studio 2008 SP1

There is not much to do - installer of the commercial version sets up the environment. Just do not forget to run vcvarsall.bat to set your environment variables.

[edit] Visual Studio 2008 SP1 Express Edition

Install it using the Web Install (downloader) at http://www.microsoft.com/express/download. It takes about 130 MB of download, assuming no MS SQL Server is selected.

The installer also downloads the Windows SDK. It is installed into %PROGRAMFILES%\Microsoft SDKs\Windows. Only version 6.0a is installed by the Visual Studio 2008 Express installer, while 6.1 is required to compile KDE components. So also download and install version 6.1, i.e. Windows SDK for Windows Server 2008 by hand. See also the Which SDK is Right for Me? document.

[edit] Improve Integration with the Visual Studio Environment

-> Enable automatic expanding of Qt data structures

[edit] CMake

CMake is the make tool used by KDE. You can get the most recent binaries from here. Use the Win32 Installer or the zip archive. Make sure you use at least cmake 2.4.5

On Windows 2000, it's recommended to install cmake in a path without spaces to avoid troubles.

[edit] Compile and Install additional libraries

These libraries have to be installed:

[edit] D-Bus for Windows

This library can be downloaded and installed with the installer (use the package name dbus-msvc) or you can compile it by yourself.

[edit] Qt 4

This Framework can be downloaded with the installer, or you can build it on your own.

[edit] KDESupport Libraries

There are several libraries which will be required for building kdelibs. You may want to compile them yourself or simply download them using the KDEWin-Installer. You will need:

  • kdewin32 (compiled with msvc)
  • strigi
  • soprano
  • qca2
  • qimageblitz

[edit] Environment Settings

To set up a build environment, follow the steps over here. If you have Cygwin installed, please be sure to remove Cygwin's /bin out of your path.

[edit] Build KDElibs

Check out the sources and make another build directory at the same level as kdelibs:

svn co svn://anonsvn.kde.org/home/kde/trunk/KDE/kdelibs
cd ..
mkdir kdelibs-build
cd kdelibs-build

Now you have to add some paths to your PATH environment variable simliar to this:

set PATH=%QTDIR%\bin;%PATH%;%INSTALL_PATH%\lib;

Build KDE libraries with:

cmake -DCMAKE_INSTALL_PREFIX=%INSTALL_PATH% -DCMAKE_BUILD_TYPE=Debug\
 -G"NMake Makefiles" ..\kdelibs
nmake
nmake install

or use the IDE:

cmake -DCMAKE_INSTALL_PREFIX=%INSTALL_PATH% -DCMAKE_BUILD_TYPE=Debug\
 -G "Visual Studio 8 2005" ..\kdelibs

(use -G "Visual Studio 7 .NET 2003" for the older compiler)

In the latter case kdelibs.sln solution file will be created. Build and install the Debug and Release builds with the IDE. Tip: to do this from command line, type:

devenv /build Debug /project INSTALL kdelibs.sln
devenv /build Release /project INSTALL kdelibs.sln

The devenv command is not available in the Express Edition.

If you use makefiles and also want to build the test programs add the option -DKDE4_BUILD_TESTS=1 to the cmake command. This is not necessary for the IDE projects.

[edit] Troubles?

  • to enable the release build (for example if you get libcmt.lib vs msvcrt.lib conflict on linking stage) add -DCMAKE_BUILD_TYPE=Release to the cmake command
  • when kdewin32 is not found, try adding the cmake parameter (with YOUR path)-DGNUWIN32_DIR=c:/gnuwin32
  • don't use a cygwin or mingw shell, you will get errors because these shells use UNIX path names
  • you could restart the configure process by deleting CMakeCache.txt
  • you could test for only one library by deleting the assignment in CMakeCache.txt
  • ask for more help on kde-buildsystem@kde.org mailing list
  • whenever you update your checkout DON'T forget to rebuild AND reinstall kdewin32.lib
  • Don't use an automoc4 executable with spaces in the path, or you will get strange error messages when running nmake (seems to be a nmake bug)

[edit] Going further: kdepimlibs

kdepimlibs are needed by kdebase or other modules like koffice.

[edit] Requirements

kdepimlibs require:

  • boost libraries. Download the tarball. As boost is consisted of headers only, unpack the tarball and copy boost subdirectory to %KDEDIR%\include. Then add use set BOOST_ROOT=%KDEDIR%\include (you may want to add it to your environment.bat file as well).
  • gpgme libraries, needed to provide GNU Privacy Guard support in KDE PIM applications
  • (really optional for now) OpenLDAP: LDAP (Lightweight Directory Access Protocol) libraries Needed to provide LDAP functionality in KDE
  • (really optional for now) cyrus-sasl: Cyrus SASL API needed to support authentication of logins

[edit] Build

Check out the sources, make another build directory and build:

cd {KDE_SOURCE_DIR}\trunk\KDE
svn up kdepimlibs
mkdir kdepimlibs-build
cd kdelibs-build
cmake -DCMAKE_INSTALL_PREFIX=%KDEDIRS% -DCMAKE_BUILD_TYPE=Debug\
 -G"NMake Makefiles" ..\kdepimlibs
nmake
nmake install

or use Visual Studio:

cmake -DCMAKE_INSTALL_PREFIX=%INSTALL_PATH% -DCMAKE_BUILD_TYPE=Debug\
 -G "Visual Studio 8 2005" ..\kdepimlibs

(use -G "Visual Studio 7 .NET 2003" for the older compiler)

In the latter case kdepimlibs.sln solution file will be created. Build and install the Debug and Release builds with the IDE. Tip: to do this from command line, type:

devenv /build Debug /project INSTALL kdepimlibs.sln
devenv /build Release /project INSTALL kdepimlibs.sln

The devenv command is not available in the Express Edition.

[edit] Going further: kofficelibs

(work in progress, to be moved to KOffice wiki)

kofficelibs are needed for apps like KWord or Kexi.

[edit] Requirements

kofficelibs require:

  • Little cms library. Download the newest lcms-1.??.zip from [1] and uncompress. To build it with msvc, go to Projects subdir and choose a subdir for your compiler (i.e. Vc7 or Vc2005).
    1. Then you will see lcms.sln solution file - you can click it to open in the msvc IDE. But first, you need to fix some paths in the project files. You probably have %KDEDIR%\lib\jpeg.lib, not libjpeg.lib, so edit tifficc.vcproj, tiffdiff.vcproj and jpegicc.vcproj and change libjpeg.lib to jpeg.lib in AdditionalDependencies variable. Then add full path to your %KDEDIR%\include directory (where tiffio.h resides) in AdditionalIncludeDirectories variable, (note: do it by expanding KDEDIR environment variable, i.e the result should be like:
      AdditionalIncludeDirectories="..\..\include;f:\kde4\include"
      Then add AdditionalLibraryDirectories="c:\your\path\to\kde\lib" line just after every two occurences of AdditionalIncludeDirectories=. All the changes are presented in this pseudo-patch (change f:\ paths to your KDEDIR location!).
    2. You probbaly want to skip building Python wrapper, so click on Build->Configuration Manager menu command and check off "Build" in "Python" line.
    3. Select "Build Solution" menu command. After successful build, you should notice:Build: 9 succeeded, 0 failed, 1 skipped
    4. To also build Release versions of the binaries, in the Configuration Manager, change active configuration to Release and repeat steps 1-3.
    5. Copy the compiled binaries. From your lcms-1.??\Lib\Ms copy *.lib files to %KDEDIR%\lib. From lcms-1.??\bin copy *.dll and *.exe files to %KDEDIR%\bin.
    6. Copy lcms headers: from lcms-1.??\include copy *.h to %KDEDIR%\include.
    7. Later when you will run cmake for kofficelibs, you get message like -- Found lcms version 1.16, F:/kde4/lib/lcms.lib.


[edit] Building app modules using prebuilt kdelibs

Install all devel packages using kdewin-installer as usual, + msvc2005. Then:

svn co svn://anonsvn.kde.org/home/kde/trunk/KDE/kdesdk
mkdir kdesdk\build
cd kdesdk\build

Now you have to add some paths to your PATH environment variable simliar to this:

set PATH=%QTDIR%\bin;%PATH%;%INSTALL_PATH%\lib;

You may need to setup msvc environment:

call "C:\Program Files\Microsoft Visual Studio 8\VC\vcvarsall.bat" x86

Build command:

cmake -DCMAKE_INSTALL_PREFIX=%INSTALL_PATH% -DCMAKE_BUILD_TYPE=Release -G"NMake Makefiles" ..
nmake
nmake install


[edit] Useful links


This page was last modified on 3 March 2011, at 11:53. This page has been accessed 37,232 times. Content is available under Creative Commons License SA 3.0 as well as the GNU Free Documentation License 1.2.
KDE® and the K Desktop Environment® logo are registered trademarks of KDE e.V.Legal