# Programmation Qt/Développer pour Windows 64 bits

* Avant-propos
* Introduction
* Développer pour Windows 64 bits
* Un premier programme
* Signaux et slots
* Projet Qt
* Classes et objets Qt
* Extensions du langage C++
* Utilisation de Qt Creator
** Créer un projet
* Les widgets
* Le positionnement des widgets
* La fenêtre principale
* TP : un éditeur de texte
* Traduire son programme
* Sauvegarder des données avec XML
* Sauvegarder des données avec SQL
* TP : un navigateur web
* Utilisation de Qt Designer
* Utiliser la documentation Qt
* Distribuer son programme
* Ressources
Annexes
* Avant-propos
* Introduction
* Développer pour Windows 64 bits
* Un premier programme
* Signaux et slots
* Projet Qt
* Classes et objets Qt
* Extensions du langage C++
* Utilisation de Qt Creator
** Créer un projet
* Les widgets
* Le positionnement des widgets
* La fenêtre principale
* TP : un éditeur de texte
* Traduire son programme
* Sauvegarder des données avec XML
* Sauvegarder des données avec SQL
* TP : un navigateur web
* Utilisation de Qt Designer
* Utiliser la documentation Qt
* Distribuer son programme
* Ressources
Annexes
[ Modifier le sommaire ]
Qt ne propose qu'une version 32 bits du QtSDK pour Windows. Il est cependant possible de compiler les sources de Qt avec un compilateur C++ 64 bits pour développer des applications pour Windows 64 bits.
Ce chapitre explique en détail les étapes pour créer un environnement de développement d'applications pour Windows 64 bits. Si vous ne développez pas d'applications pour Windows 64 bits, vous pouvez passer au chapitre suivant.

## Installations préparatoires
### Windows SDK

Si vous utilisez Windows XP, Windows Vista ou Windows 7, et que vous désirez que les composants graphiques de vos applications adoptent la même apparence que celles des autres applications, il est nécessaire de télécharger et installer Windows SDK. Celui-ci est disponible ici : https://www.microsoft.com/download/en/details.aspx?displaylang=en&id=8279
Installez-le dans le répertoire proposé par défaut (en général, pour la version 7.1 il s'agit de C:\Program Files\Microsoft SDKs\Windows\v7.1).

### Compilateur C++

Il faut ensuite installer le compilateur C++ pour Windows 64 bits qui servira à compiler Qt et les applications par la suite.
Vous pouvez utiliser un compilateur C++ gratuit :
* Visual C++ 2010 Express disponible ici : http://www.microsoft.com/visualstudio/en-us/products/2010-editions/visual-cpp-express
* TDM64 GCC (MinGW-w64 64/32-bit Edition) et MSYS pour MinGW64 disponibles aux adresses suivantes :
** TDM64 GCC 4.7.1 : http://sourceforge.net/projects/tdm-gcc/files/TDM-GCC%20Installer/tdm64-gcc-4.7.1-3.exe/download
** MSYS pour MinGW64 : http://sourceforge.net/projects/mingw-w64/files/External%20binary%20packages%20%28Win64%20hosted%29/MSYS%20%2832-bit%29/
    Par convention, installez-les dans les répertoires C:\MinGW64 et C:\Msys64, respectivement. Vous pouvez utiliser d'autres répertoires ou lecteur de disque.

### Open SSL

Si vous envisagez d'utiliser SSL avec Qt, installez également Open SSL pour Windows. La version 0.9.8 pour x64 est disponible ici : http://code.google.com/p/openssl-for-windows/downloads/detail?name=openssl-0.9.8k_X64.zip&can=2&q=
Installez-le dans C:\OpenSSL-Win64

### Sources de Qt

Téléchargez les sources de Qt Libraries et Qt Creator sur http://qt.nokia.com/downloads, et installez-les dans les répertoires suivants :
* Qt Libraries : C:\Qt\vversion (ex: C:\Qt\v4.8.0), sans le répertoire racine de l'archive, c'est-à-dire en ayant directement accès aux répertoires C:\Qt\vversion\bin, C:\Qt\vversion\src ...
* Qt Creator : C:\Qt\qt-creator-version-src (qt-creator-version-src étant le répertoire racine de l'archive téléchargée).

## Compilation

Il faut d'abord compiler les bibliothèques de Qt, puis Qt Creator qui les utilisent.
Il est conseillé de créer un batch afin de pouvoir configurer facilement le système et recompiler sans taper plusieurs commandes.

### Configuration préparatoire

Il faut tout d'abord préparer l'environnement pour la compilation.

### Compilation des bibliothèques de Qt

* Changez le répertoire courant en C:\Qt\vversion
    cd /D C:\Qt\v4.8.0
* Déterminez ensuite les options pour appeler configure :
** Les options disponibles sont affichées avec la commande suivante : configure -help
** Consultez également la page http://qt-project.org/doc/qt-4.8/configure-options.html
** Si vous avez installé Open SSL, ajoutez ces options : -openssl -I C:\OpenSSL-Win64\include -L C:\OpenSSL-Win64\lib
** Si vous avez installé WindowSDK et désirez avoir des applications ayant une apparence native à Windows :
*** Pour windows XP : -qt-style-windowsxp
*** Pour windows Vista/7 : -native-gestures -qt-style-windowsxp -qt-style-windowsvista
Vous pouvez maintenant appeler configure.exe avec les options prédéterminées. Par exemple (ligne découpée sur plusieurs lignes) :
* Si la commande configure s'est déroulée sans erreur, le fichier C:\Qt\vversion\Makefile a été créé et la compilation peut commencer :
Si tout se déroule sans erreur, la compilation peut durer entre 1h et 4h selon la configuration matérielle. La compilation doit avoir généré les programmes suivants :
* C:\Qt\vversion\bin\assistant.exe
* C:\Qt\vversion\bin\designer.exe
* C:\Qt\vversion\bin\linguist.exe
* Configurer le système pour avoir en permanence Qt et le compilateur C++ dans le PATH :

### Compilation de Qt Creator

En gardant la même configuration préparatoire que pour la compilation des bibliothèques de Qt :
* Changez le répertoire courant en C:\Qt :
* Créez un nouveau répertoire QtCreator_version pour la génération de Qt Creator :
* Compilez Qt Creator en utilisant les deux commandes suivantes :
Si tout se déroule sans erreur, la compilation peut durer entre 30 et 80 minutes selon la configuration matérielle. La compilation doit avoir généré le programme C:\Qt\QtCreator_version\bin\qtcreator.exe. Lancez-le et vérifiez qu'aucun message d'erreur ne s'affiche au démarrage (bibliothèque ou module manquant).
Vous pouvez également essayer de créer un programme simple pour tester que l'environnement fonctionne, comme expliqué dans le chapitre suivant.