Ce cours est visible gratuitement en ligne.

Got it!
[Qt] Compilez facilement sous Linux !
Last updated on Wednesday, October 30, 2013

Introduction du cours

Vous êtes sous Linux ?
Vous en avez marre de lancer votre console, de vous diriger vers votre projet et de taper qmake -projet; qmake et make ?
Eh bien vous êtes là où il fallait aller ! :D

Dans ce tutoriel (mon premier !), vous allez apprendre deux méthodes différentes pour pouvoir compiler sans faire grand-chose :

  • d'abord avec Nautilus, si vous êtes sur Ubuntu/Gnome, à l'aide de son plugin de script ;

  • puis une méthode générale et simple, où vous allez faire travailler un tout petit peu (mais vraiment un tout petit peu hein :p ) votre cerveau.

Prêts ? C'est partiii ! ;)

Nautiluuus, nous voilà !

Donc vous êtes sur Ubuntu/Gnome, ou en tout cas, vous avez Nautilus ?
Si oui, c'est parfait, allez, allez ! Plus vite que ça, on commence ! Et que ça ne traîne pas ! :D
Si non, passez votre chemin et allez à la deuxième sous-partie ("Et s'il suffisait d'exécuter un exécutable ?").

Étape 1 : installer le gestionnaire de plugin de Nautilus

C'est simple, rapide et vous avez plusieurs solutions :

  • soit vous cliquez et vous attendez (cela nécessite le support de "apt://"; c'est bon si vous avez Ubuntu 7.10 ;) ) ;

  • ou bien vous lancez votre console, et vous entrez :

    sudo apt-get install nautilus-script-manager
  • la dernière, qui est plus longue : cherchez le paquet "nautilus-script-manager" dans Synaptic.

Vous suivez les instructions et c'est installé ! ^^
Pour être sûrs que l'installation a été prise en charge, redémarrez votre ordinateur ou, pour que ça aille plus vite, tapez un nautilus --restart dans la console.

Étape 2 : créer le script

Bon ben là, franchement, je ne sais pas si c'est plus simple que l'étape 1, mais presque ! :p
Il vous suffit donc de faire un script en bash qui va faire les commandes suivantes :

  • qmake -project : rien à dire ;

  • qmake : idem ;

  • make : allez hop, hop, hop, on compile !

Alors premièrement, on va se diriger vers le dossier des scripts Nautilus.

C'est où ? :euh:

Il se trouve dans /home/VOTRE_LOGIN/.gnome2/nautilus-scripts. :)

Très bien. Maintenant, on va faire un clic droit -> Nouveau -> Fichier Vierge et vous le nommerez Qmake (ou choisissez un autre nom si vous voulez :) ).
À présent, éditez-le avec votre éditeur de texte favori et faites le script !

Mais comment on fait ? o_O

Vous n'y arrivez donc pas ? C'est tout simple et seulement une explication s'impose ! :D

#!/bin/bash
qmake -project
qmake
make

La première ligne sert à dire que c'est du bash et les autres sont les commandes ; c'est simple, non ? ;)
Bon, il faut maintenant rendre ce fichier exécutable : comment fait-on ?
Méthode graphique : on fait un clic droit, on clique sur Propriétés -> Permission et on coche la case d'exécution ! ^^
Méthode en LDC : vous vous placez dans le dossier où est le script (/home/VOTRE_PSEUDO/.gnome2/nautilus-scripts) puis vous faites :

sudo chmod +x Qmake

Étape 3 : essayez !

Hop, hop, on essaye maintenant, pas question de fermer l'oeil ! :o
Dirigez-vous vers votre dossier de test de Qt (simple exemple) et faîtes un clic droit -> Qmake ; attendez 2-3 secondes et admirez : votre fichier Test est apparu !

Si vous ne voyez pas le script Qmake, faîtes un nautilus --restart ou redémarrez votre ordinateur. :)

Qmake - Sélection

Allez, cliquez !

Mais, mais... des fichiers Test.o et d'autres sont apparus ! J'en veux pas, moi !
Je fais comment pour m'en débarrasser automatiquement ?

Eh bien dans les commandes, on ajoute à la fin :
make clean", "rm *.pro Makefile !

Code complet du script

Qmake - Gedit
#!/bin/bash
 
qmake -project
qmake
make
make clean
rm *.pro Makefile

Et comme je suis gentil, vous pouvez télécharger mon script qui est à dézipper puis à placer dans le dossier de scripts :D
(mais comme c'est ma version et que j'ai Qt4, j'ai remplacé les qmake par qmake-qt4 pour plus de sûreté ;) ).

Télécharger QmakeNautilusScript.zip

Et s'il suffisait d'exécuter un exécutable ?

Donc, vous n'avez pas Nautilus et vous souhaitez compiler sans gros problèmes ?
Ah, ah, vous savez comment on va faire ? :pirate:
On va vous casser la gueule et comme ça, y aura plus à compiler votre foutu programme !
Non, non, je vous rassure, on va simplement coder un petit programme en C++. :)

Étape 1 : création et explication du code

On va simplement dire à notre programme d'exécuter des lignes de commande !

Ah oui ? Et comment ? :o

Oui, oui ! Il suffit d'appeler une fonction system(string VotreLigneDeCommande); !

#include <iostream>
using namespace std;
 
int main()
{
    system("qmake -project");
    system("qmake");
    system("make");
    system("make clean");
    system("rm *.pro Makefile");
    return 0;
}

C'est simple à comprendre, non ? Les deux premières lignes de main() servent à pré-compiler, la 3e à compiler et les deux dernières à nettoyer les fichiers qui ne nous servent plus ! :D
J'ai mis using namespace std; mais libre à vous de le laisser ou de l'enlever ; moi, j'aime bien le laisser pour de si petits programmes, ça fait plus de lignes. :p

Qmake - Main.cpp

Il ne vous reste plus qu'à compiler votre programme !

Étape 2 : essayez !

Comment on se sert de l'exécutable généré ? :euh:

Eh bien vous le copiez dans le répertoire où sont les codes sources de votre projet, et vous le lancez !
Aussi simple que cela il n'y a pas, si ? (En réalité, oui. :p )

Et comme je suis sympa vous pouvez télécharger le programme
(mais comme c'est ma version et que j'ai Qt4, j'ai remplacé les qmake par qmake-qt4 pour plus de sûreté ;) ).

Télécharger QmakeExe.zip

Avantages / Inconvénients des deux méthodes

Je mets à votre disposition ces tableaux récapitulatifs :

Qmake - Script Nautilus

Avantages

Inconvénients

Rapide et intuitif ( :-° )

Seulement avec Nautilus

Doit avoir nautilus-plugin-manager d'installé

Qmake - Exécutable

Avantages

Inconvénients

Rapide

Doit être copié dans le dossier des sources à chaque fois

Bien que le script Nautilus comporte un désavantage de plus, je le conseille vivement !
(Si vous trouvez d'autres av. / inc., dites-le moi. ;) )

Image utilisateur

Eh bien voilà ! C'était pas si dur, si ? :o
Bon, fallait y penser, mais franchement, ça simplifie la vie, n'est-ce pas ? ^^

Je ne sais pas si la méthode fonctionne sous Windows, essayez la deuxième méthode pour voir !

Mais pourquoi t'es pas sûr ?

Simplement parce que le Grand Manitou M@teo21 nous a dit un jour :

Citation : M@teo21, notre chef vénéré à tous

"Attention, petit padawan ! Ne lance pas la console de Windows mais celle de Qt ! Car elle charge des informations relatives à Qt !!!"

Je vous laisse maintenant, pour que vous puissiez profiter à fond de Qt sans avoir à taper ces fichues lignes de commandes ! :)

How courses work

  • 1

    You have now access to the course contents and exercises.

  • 2

    You will advance in the course week by week. Each week, you will work on one part of the course.

  • !

    Exercises must be completed within one week. The completion deadline will be announced at the start of each new part in the course. You must complete the exercises to get your certificate of achievement.

  • 3

    At the end of the course, you will get an email with your results. You will also get a certificate of achievement if you are a

Example of certificate of achievement
Example of certificate of achievement