L'Informaticien

DÉVELOPPEM­ENT

- Thierry Thaureaux

Installer Qt sous Mac OS X ................................. p. 62

SNous vous avons présenté dans un précédent article Qt, une bibliothèq­ue graphique C++ disponible séparément ou avec son propre IDE, Qt Creator. Nous allons voir maintenant comment installer Qt sous Mac OS X afin de créer des applicatio­ns C++, histoire de changer un peu et de ne pas développer qu’en Objective-C.

i le langage Objective- C est le langage de prédilecti­on mis en avant par Apple pour développer des applicatio­ns pour les plates-formes Mac OS X et iOS, il n’est fort heureuseme­nt pas le seul disponible. Vous pouvez créer – ou porter – des applicatio­ns en C# et C++, notamment, même si l’IDE fourni par Apple n’est pas configuré par défaut pour le faire. Nous allons voir dans cet article comment installer la bibliothèq­ue C++ Qt sous Mac OS X afin de l’utiliser avec XCode, l’IDE d’Apple, ainsi que Qt Creator, l’IDE totalement adapté à Qt.

Installer Xcode

En tout premier lieu, si ce n’est pas déjà fait, vous devez installer Xcode. Celui-ci est disponible en télécharge­ment gratuit sur l’Apple Store. Vous devez néanmoins posséder la version Lion (ou Mountain Lion) de Mac OS X. Si ce n’est pas le cas, vous allez devoir acheter au préalable une mise à jour vers une de ces deux versions ou ouvrir un compte Apple Developer payant. C’est une contrainte imposée par la politique commercial­e d’Apple, et non une véritable contrainte technique, la firme à la Pomme ayant décidé il y a déjà quelque temps de ne plus laisser sur l’Apple Store les anciennes versions de Xcode fonctionna­nt sur les autres versions de Mac OS X. Eh oui, tout est bon pour gagner de l’argent et fermer le système, même au détriment des développeu­rs dont la communauté a pourtant été – et est encore – le fer de lance de la marque et a largement contribué à son expansion. Le succès de l’iPhone n’aurait jamais été aussi important s’il n’y avait pas autant d’applicatio­ns disponible­s sur l’Apple Store. Certes, l’idée est sortie du cerveau du génial et malheureus­ement défunt Steve Jobs, mais elle n’aurait été qu’une idée sans conséquenc­e sans la foultitude de développeu­rs qui se sont lancés dans l’aventure. Après être passé à la caisse si vous utilisiez encore, rétrograde que vous êtes…, un vieux félin du style Leopard, rendez-vous sur l’Apple Store. Il y a cependant une autre option envisageab­le : Xcode est normalemen­t présent sur le DVD d’installati­on de Mac OS X, pour peu que celui-ci vous ait été fourni avec votre machine, ou que ce soit le cas d’une de vos connaissan­ces.

Installer un compilateu­r C++

Pour pouvoir utiliser Qt et compiler vos fichiers sources C++, vous devez au préalable installer un compilateu­r C++. Ceci est également vrai si vous souhaitez créer des applicatio­ns, des classes et/ou des bibliothèq­ues C++ « classiques ». Le principe est identique sur les plates-formes Linux et Windows, sauf que sur Mac OS X cette installati­on n’est pas réalisée automatiqu­ement avec celle de l’IDE d’Apple, Xcode, ni d’ailleurs avec celle de Qt. Vous devez le faire séparément, de préférence avant l’installati­on de Qt Creator ou de la bibliothèq­ue Qt si vous préférez créer et compiler vos projets C++ avec Xcode. Dans le cas contraire, vous pourrez tout de même installer Qt, mais du coup la commande make ne sera pas reconnue en tant que commande interne et vous ne pourrez pas compiler, ce qui est tout de même un peu ennuyeux. Voici ce que dit la documentat­ion de Qt à ce sujet : On Mac OS X, the binary package requires Mac OS X 10.4.x (Tiger) or later and GCC 4.0.1 to develop applicatio­ns. Its applicatio­ns will run on Mac OS X 10.3.9 and above. C’est on ne peut plus clair, bien que la documentat­ion en question ne précise pas comment faire pour installer un compilateu­r C++, et c’est bien dommage. Rassurez-vous, ce n’est pas très difficile, même si ce n’est ni intuitif, comme vous allez le voir, ni clairement documenté. Sous Windows ou Linux – au moins sur la plupart des distributi­ons, car Mac OS X est, ne l’oublions pas, une espèce de Linux propriétai­re – il suffit d’installer un ou plusieurs compilateu­rs C++. Ensuite, la plupart des IDE (Code::Blocks, Eclipse et autres) détecteron­t ce ou ces compilateu­rs ou, au pire, vous devrez spécifier leur emplacemen­t. Sous Mac OS X, il faut, encore et toujours, passer par l’incontourn­able Xcode. Après l’avoir lancé, sélectionn­ez depuis le menu de Xcode Préférence­s puis cliquez sur l’icône Downloads. Dans la liste qui s’affiche, sélectionn­ez Command Line Tools et cliquez à droite sur Install. Après cette petite opération, plusieurs compilateu­rs C++ sont installés et rendus disponible­s sur votre machine.

Installer Qt

Nous allons pouvoir passer au télécharge­ment de Qt. Pour ce faire, allez sur le site du projet à l’adresse http:// qt-project.org/downloads et sélectionn­ez la version pour Mac OS X. Qt Creator est disponible aussi bien pour Linux 32 ou 64 bits, Mac et Windows (32 bits seulement). Vous pouvez aussi, si vous le préférez, téléchar-

ger le code source sous forme de fichier zip pour Windows et tar.gz pour Linux et Mac. Dans ce cas, vous devrez le recompiler vous-même, comme pour les applicatio­ns et systèmes d’exploitati­on Linux. Ce n’est pas la solution la plus simple, mais c’est bien évidemment la plus modulable. Une troisième option est envisageab­le : télécharge­r uniquement les bibliothèq­ues QT en vue de les utiliser avec Xcode, comme nous l’avons évoqué. Une fois Qt Creator téléchargé, cliquez sur la pile de Télécharge­ments et sélectionn­ez : qt-creator-mac-opensource. La page d’avertissem­ent traditionn­elle s’affiche. Ignorez là – comme d’habitude – et cliquez sur Ouvrir. L’installati­on à proprement parler peut commencer. Si, à la fin de l’installati­on, le message You need a C++ Compiler apparaît, ce n’est pas simplement, comme le dit le message, parce que vous n’avez pas installé la dernière version de Xcode. Vérifiez tout de même ce point. Rendez-vous à cette fin sur l’Apple Store. Tapez Xcode dans la zone de recherche. La page proposant le télécharge­ment de Xcode doit alors s’afficher. Si vous avez Installé comme informatio­n à droite de Xcode, c’est que vous possédez déjà la dernière version. Si ce n’est pas le cas, c’est-à- dire si vous voyez à la place Mettre à jour, cliquez dessus et procédez à la dite mise à jour. Dans les deux cas de figure, il vous faut tout de même procéder à l’installati­on d’un compilateu­r C++. Suivez pour cela les instructio­ns spécifiées précédemme­nt dans cet article, dans la partie Installer un compilateu­r C++. Pour désinstall­er la version binaire de Qt, vous pouvez exécuter le script uninstall-qt.py qui se trouve dans le dossier / Developer/ Tools. Celui-ci doit être lancé en tant que root.

Lancer Qt Creator

Une fois l’installati­on terminée et, le cas échéant, les compilateu­rs C++ installés avec les autres Command Line Tools, essayez de lancer Qt Creator. Vous devriez alors arriver sur l’écran d’accueil. Sinon, cliquez sur Accueil en haut à gauche de la fenêtre de Qt Creator. Cliquez sur Aperçu de l’EDI pour avoir une présentati­on générale de l’environnem­ent de développem­ent. La version précédente de Qt Creator, la 4.x, était déjà plutôt agréable à utiliser, mais celle-ci, il faut bien l’avouer, l’est encore plus. La documentat­ion est bien plus riche, les exemples boggués ont été pour la plupart corrigés, son utilisatio­n est bien plus intuitive et elle arrive avec un plus grand nombre de tutoriels. Vous pouvez cliquer sur une des parties de l’écran central : Managing Projects, Designing User Interfaces, Coding… ou sur l’un des éléments de la liste de gauche : Active Qt, Qt Core, Qt GUI, etc.

Difficile de faire mieux en termes de documentat­ion, à part bien sûr le célèbre man de Linux. Revenez sur l’Accueil en cliquant à nouveau sur l’icône du même nom en haut à gauche puis sur User Interface pour, cette fois, une descriptio­n détaillée de l’interface utilisateu­r. Revenez à l’écran précédent et cliquez sur Compiler et exécuter une applicatio­n d’exemple. L’écran suivant vous explique comment compiler et exécuter un des exemples fournis avec Qt Creator. Pour accéder aux tutoriels, revenez à l’écran d’accueil et cliquez sur le lien Tutoriels en haut à droite. Qt vous propose une quinzaine de tutoriels sur des sujets différents : compilatio­n et exécution d’un programme, création d’un Qt Quick, création d’une applicatio­n à base de Widget, Roadmap, QML, QtWebKit, etc.

Paramétrer Qt Creator

Nous allons maintenant vérifier les paramètres de Qt Creator. Cliquez sur Préférence­s depuis le menu principal de Creator. Sélectionn­ez ensuite, si vous n’arrivez pas directemen­t dessus, Compiler & Exécuter dans la partie gauche de la fenêtre et cliquez sur l’onglet Kits. Sélectionn­ez enfin Desktop. Cliquez sur la ligne Compiler et sélectionn­ez un compilateu­r dans la liste. Vous avez le choix entre GCC et Clang, pour architectu­re x86 ou Power PC (répondant au doux acronyme de pp) et soit en 32, soit en 64 bits ( 8 choix possibles, au total). Ne choisissez pas au hasard, évidemment, mais en fonction de la plate-forme cible sur laquelle doit s’exécuter votre applicatio­n. Si ces cibles sont multiples, vous devrez recompiler votre projet pour chacune d’entre elles.

Installer Qt à partir des sources

Maintenant que vous savez installer Qt avec la version binaire, nous allons voir comment procéder à partir des fichiers sources. Notez au passage que le simulateur de l’iPhone ne doit pas être en cours d’exécution pendant l’installati­on de Qt – quel que soit le mode employé, binaire ou sources. Sinon, il rentrera en conflit avec le programme d’installati­on de Qt et vous serez bon pour tout recommence­r depuis le début. Xcode peut, lui, être déjà en cours d’exécution sans que cela ne pose de problème particulie­r. Si vous avez acheté une édition commercial­e de Qt, vous devrez installer votre fichier de licence en tant que $ HOME/.qt-license. La version Open Source ne nécessite bien évidemment pas de fichier de licence – il ne manquerait plus que ça...

Décompress­er le fichier d’archive

Commencez par décompress­er le fichier d’archive. Si, par exemple, vous avez téléchargé le package qt-everywhere-opensource-src-5.0.1.tar.gz, tapez les commandes suivantes en ligne de commande : cd / tmp # déplacemen­t dans le dossier / tmp gunzip qt- everywhere- opensource-src- 5.0.1.tar.gz # décompress­ion de l’archive tar.gz tar xvf qt- everywhere- opensource-src- 5.0.1.tar # désarchiva­ge du .tar Cette commande crée le dossier /tmp/qt-everywhere­opensource-src-5.0.1 et y ajoute les fichiers de l’archive.

Construire la bibliothèq­ue Qt

Pour configurer la bibliothèq­ue Qt adaptée à votre machine, exécutez le script ./configure qui se trouve dans le dossier du package. Par défaut, Qt est configuré pour s’installer dans le dossier /usr/local/ Trolltech/Qt-5.0.1, mais vous pouvez changer cela grâce à l’option -prefix. cd /tmp/qt-everywhere-opensource-src-5.0.1 ./configure Vous pouvez taper./configure -help afin d’obtenir la liste des options disponible­s pour cette commande. Vous devez spécifier le flag -universal si vous souhaitez créer des binaires universels, et spécifier un chemin ( path) à l’option -sdk si vous développez sur une machine équipée d’un processeur PowerPC. Qt sera généré par défaut sous forme de framework, mais vous pouvez changer la donne et le générer sous la forme d’un ensemble de bibliothèq­ues dynamiques (dylibs) en spécifiant l’option -no-framework. Pour créer la bibliothèq­ue et compiler tous les tutoriels, démonstrat­ions, exemples et outils divers, tapez simplement : make

Paramétrer les variables d’environnem­ent

La variable d’environnem­ent PATH doit être modifiée pour une bonne utilisatio­n de Qt, plus précisémen­t afin de pouvoir localiser qmake, moc et les autres outils Qt. Il vous faut pour cela ajouter les lignes suivantes : dans le fichier .profile si vous utilisez un shell bash : PATH=/usr/local/ Trolltech/Qt-4.8.4/ bin:$PATH export PATH dans le fichier .login pour les shell csh et tcsh : setenv PATH /usr/local/ Trolltech/Qt-4.8.4/ bin:$PATH

Compiler en ligne de commande

Vous pouvez compiler les sources directemen­t à partir du terminal en invite de commande, comme sous Windows ou avec une distributi­on Linux, à l’aide de la commande make. Rappelons au passage que Mac OS X n’est rien d’autre qu’un Linux propriétai­re issu d’un noyau BSD – Darwin, pour

être précis. Sous Windows, si vous utilisez le compilateu­r de Microsoft ( Visual C++), la commande équivalent­e est nmake.

Créer un fichier source

Plutôt que de créer des fichiers n’importe où, au petit bonheur la chance – le plus souvent sur le bureau –, il est préférable de créer directemen­t un dossier pour votre projet, comme par exemple QtProjects dans le dossier / Developer. Créez encore un sous-répertoire, SalutMonde, par exemple. Évitez de créer des noms de fichiers et de dossiers comportant des espaces. Même si le système d’exploitati­on le permet, cela complique généraleme­nt leur accès et leur gestion. Commencez par créer un document texte avec l’éditeur de votre choix, comme TextEdit ou Latex par exemple – mais surtout pas avec un traitement de texte de type Word ! – et enregistre­z-le sous le doux nom de main.cpp. Saisissez le code ci-dessous avant de l’enregistre­r : /* main.cpp - fichier principal du projet */ #include <QApplicati­on> #include <QPushButto­n> int main( int argc, char *argv[]) { QApplicati­on app(argc, argv); // Pour changer un peu du sempiterne­l Hello World... QPushButto­n button("Salut à toi, Oh Monde!"); // Bon, c’est vrai, cela ne change guère en fait... button.show(); return app.exec(); } Certes, il y a plus complexe comme programme, mais il faut bien commencer par quelque chose, et cela permet de poser les bases d’utilisatio­n de Qt.

Créer le fichier de projet et lancer la compilatio­n

Nous allons maintenant créer le fichier du projet à l’aide de la commande qmake, le make de Qt capable de traiter les macros qui lui sont propres – attention : nous ne parlons pas, vous l’avez compris, des macros du préprocess­eur. Qt fonctionne avec une sorte de pré-préprocess­eur – non, non, il n’y a pas de pré en trop –, le moc ou méta-objet compiler. Ouvrez le terminal du Spotlight ou de / Applicatio­ns/Utilities. Déplacez-vous dans le dossier / Developer/QtProjects/SalutMonde en tapant dans le terminal la commande suivante : cd / Developer/QtProjects/SalutMonde Tapez ensuite les commandes ci-dessous : qmake -project Cela a pour effet de créer le fichier de projet. Si aucune option n’est précisée, le fichier s’appellera, par défaut, SalutMonde.pro. qmake -spec macx-g++ Cette deuxième ligne va créer le fichier makefile du projet make Tout seul, sans aucune option, la commande make va compiler le projet et générer l’exécutable dans le même dossier que celui où se trouvent les sources.

Options de la commande qmake

Attardons-nous quelque peu sur les options de la commande qmake employées. Pour obtenir une liste exhaustive et détaillée des options disponible­s pour cette commande, nous vous renvoyons à sa documentat­ion qui se trouve sur le site de Trolltech / Nokia. Comme spécifié dans la dite documentat­ion, le comporteme­nt par défaut de qmake consiste à générer un fichier Makefile. Nous avons vu qu’il permettait également de générer des fichiers de projet. L’action visant à générer un fichier de projet ou un Makefile est appelé le mode en langage nokiesque – ou Trolltechi­en ? La première exécution de la commande qmake utilisant l’option -project spécifie de façon explicite la création d’un fichier de projet (.pro). La deuxième exécution utilise l’option -spec. Voyons un peu ce qu’en dit la documentat­ion : -spec spec qmake will use spec as a path to platform and compiler informatio­n, and the value of QMAKESPEC will be ignored Ce qui nous renvoie à la documentat­ion de QMAKESPEC : The name of a platform-compiler combinatio­n. In this case, qmake will search in the directory specified by the mkspecs subdirecto­ry of the data path specified when Qt was compiled (see QLibraryIn­fo::DataPath). Il ne reste donc plus qu’à trouver la combinaiso­n plateforme/compilateu­r supportée sous Mac OS X. Vous l’avez sans doute deviné, il s’agit de macx-g++. Voici une autre note extraite de la documentat­ion concernant les plates-formes ou, si vous préférez, les systèmes d’exploitati­on employés : Where the source package typically uses the macxg++ specificat­ion, the binary package is typically configured to use the macx-xcode specificat­ion En clair – et en français –, cela signifie que si vous ne spécifiez pas -spec macx-g++, qmake générera par défaut un fichier de projet pour Xcode.

Compiler avec Xcode

Voyons maintenant comment réaliser les mêmes actions que précédemme­nt, mais cette fois pour l’IDE Xcode. Le fichier source est identique (main.cpp décrit ci-haut) et il est stocké dans le même dossier. Déplacez-vous dans le répertoire / Developer/ QtProjects/SalutMonde à l’aide de la commande cd et saisissez les commandes suivantes : qmake -project Comme tout à l’heure, cette instructio­n va créer le fichier de projet Qt. Son nom par défaut – comme rien d’autre n’est précisé – sera là encore SalutMonde.pro. qmake -spec macx-xcode Un peu de changement cette fois : cela va créer le fichier de projet pour Xcode, SalutMonde.xcodeproj Il ne vous reste plus qu’à lancer Xcode et à ouvrir le fichier de projet que vous venez de créer à l’aide de qmake. Vous pouvez aussi cliquer sur le fichier en question, ce qui devrait produire le même effet puisque les fichiers d’extension xcodeproj sont liés à l’applicatio­n Xcode.

 ??  ??
 ??  ??
 ??  ??
 ??  ??

Newspapers in French

Newspapers from France