Mac4Ever MacGameZone Gadget O'Mac Refurb-Store Mac-LAN : Jouez ! Forum : ...
icon
Mercredi 27 Août 2003

Compiler un programme C++

Creation > Programmation
Dans ce court article nous allons voir comment compiler un programme C++ à partir de la ligne de commande ou de ProjectBuilder. Dans les deux cas c'est très simple.
Le programme


Avant de penser à la compilation il faut bien sûr programmer les fichiers sources. Ici nous prendrons un exemple très simple ne comportant qu'un seul fichier lui même très basique puisque le programme se contente d'afficher "Hello world !". Son code source est le suivant


#include

using namespace std;

int main(int argc, char ** argv)
{
cout << "Hello world !" << endl;
return 0;
}


Comme vous le voyez c'est extrêmement simple, je ne m'étendrais pas là dessus. Passons plutôt à la compilation.

La compilation


Avec ProjectBuilder

Compiler un programme C++
Compiler un programme avec ProjectBuilder est très simple, il suffit de cliquer sur le bouton « Build »...
En réalité ProjectBuilder utilise pour compiler votre programme un modèle choisi selon le type de « target » que vous avez choisi. Dans notre cas il fallait évidemment choisir « C++ Tool ». Si vous êtes observateur vous aurez remarqué que PB affiche dans un volet les commandes qu'il exécute. Cela montre bien qu'il ne fait que lancer une suite de commandes au shell, manoeuvre que nous pouvons également accomplir à la main.

Vous pouvez aussi modifier les options de gcc dans les réglages de la « target » pour plus de souplesse.
Il n'est donc pas nécessaire de connaitre l'usage de gcc pour compiler un programme avec PB mais c'est tout de même grandement conseillé, cela sert toujours à un moment ou un autre.

En réalité PB n'utilise pas directement gcc: il passe par jam, un système équivalent au Makefile dont je vous parlerai un peu plus loin.

En ligne de commande

Vous pouvez donc appeler gcc directement depuis la ligne de commande. En plus de compiler, gcc fait aussi office de « linker » par le biais de ld. Il suffit donc d'une ligne de commande pour obtenir un executable.

Pour compiler notre exemple, la ligne la plus simple est:
c++ helloworld.cpp

Vous remarquerez que nous utilisons c++, un lien symbolique verc g++3, le compilateur c++.
Une pléthore d'options est disponible, je vous laisse consulter la page de manuel pour une liste exhaustive.
Voilà toutefois une utilisation courante:
c++ -Wall -o helloworld helloworld.cpp

Nous demandons là au compilateur d'afficher un maximum de « warnings » et de nommer sa sortie (c'est -à-dire l'executable) helloworld. Par défaut gcc appelle a.out sa sortie.

Nous n'avons ici qu'un seul fichier source mais vous pouvez en compiler autant que vous voulez en une seule ligne, il suffit de les ajouter à la fin de la ligne de commande:
c++ -Wall -o myprog source1.c source2.c ...

Afin d'éviter d'avoir à taper tout cela pour les gros projets (surtout qu'il y a souvent plus d'options que cela) à chaque compilation, on utilise un système particulier: GNU Make.
La commande make associée à un fichier Makefile dans le dossier du projet permet de compiler un programme complet en ne tapant que quatre lettres ! A travers l'écriture de Makefiles, make dispose d'énormes possibilités. Sur ce point je vous recommande la documentation fournie avec les Developer Tools.
Ici il serait ridicule de créer un Makefile; si vous cherchez des exemples, regardez les sources de n'importe quel programme en ligne de commande, quasiment tous utilisent ce système.

Conclusion


Ca y est, vous savez tout sur les différents moyens de compiler du code c++. En fait c'est exactement comme du code C sauf que vous appelez c++ (ou g++ ou g++3) au lieu de cc. Maintenant il ne vous reste plus qu'à écrire du code à compiler: à vos claviers !

@ Coco


Les réactions à cet article
Témoignages et avis....
  • Le 24/09/2003, 23:20@ Pulse : Hem...

    Je ne vois pas trop comment compiler un simple code C++ directement à partir de Project Builder, en fait. Les boutons "build" et compagnie ne s'affichent que dans la fenêtre de projet, hors pour faire un projet il faut plus qu'un simple code C++, d'ailleurs j'ai vu le tutoriel du "hello world" en question pour PB, il est carrément plus long...

    S'il y a un moyen de compiler du C++ directement à partir de Project Builder j'attends avidement une solution plus détaillée que celle vaguement énoncée dans cet article.

    Merci d'avance :)
  • Le 24/06/2004, 11:26@ Fz : G rien capté

    jpense que tout les gens qui savaient compilé un prog en C++ savent maintenant compilé un prog en C++ mais que les autres personne ne la connaissant pas ont rien capté. C'est pas ton truc la pédagogie ...
  • Le 22/08/2004, 22:26@ Stickman : ou avoir ProjectBuilder ?

    C'est bien mais ou avoir ProjectBuilder?j'ai chercher de partout mais aucun resultat :'(
  • Le 06/11/2004, 11:45@ rems14 : Merci !

    Je cherchais comment compiler un programme c++ à partir des sources, en lignes de commande et j'ai pu trouver ici la solution au problème, très simplement.
  • Le 29/01/2005, 19:22@ nabole : calcul de pi

    je vous demande de me compiler ce programme
    #include<iostream>
    #include<
  • Le 16/03/2005, 14:04@ Morfu : C++ builders

    Si tu ve dl borland C++ buidler :
    http://c.developpez.com/compilateurs/
    :)
  • Le 24/04/2005, 12:16@ Scramasax : C++

    Je trouve que le texte ci-dessus est très incompplète... Heureusement que je savais deja programmer en C++ avant de lire ce texte, car si je n'aurais encore jamais touché à du C++ ce texte j'en aurais rien compris.... Merci !
  • Le 24/09/2005, 12:31@ zzzzzz!!!! : comment faire un makefile?

    si on a plusieurs fichiers dependants entre eux commemt creer un makefile?
  • Le 04/03/2007, 19:11@ Iris : compilateur

    comment je peut programmer un compilateur avec Visual Basic(VB).Merci.
  • Le 03/04/2007, 14:41@ hako : LANCER UN PROGRAMME

    comment je peut lancer un programme a partir terminal
    mon programme contient une interface grafique
  • Le 05/06/2007, 22:49@ miradjo : executer un prg C++ apartire prog VB

    comment lancer un programme C++ apartire d'un programme VB
  • Le 27/07/2008, 16:27@ manno : progamme

    pouvez vouz m'aider a resoudre ce petit programme: ecrire un programme permettant de saisir les donnees suivant, nom, prenm, age, poste,taille, telephone. ce programme doit avoir les cinq (5)foctions suivants; (ajourter,afficher,rechercher,supprimer et quitter)
Donnez votre avis
Réagissez à cet article...
 
Si vous cherchez de l'aide ou si vous avez une question à poser, ne réagissez pas ici ! Redirigez-vous vers le forum !
Pseudo/Nom : Email (sera protégé contre le Spam) :
Titre :
Réaction :
Recopiez le code de l'image ci-contre :
Rubriques
  • humeurcreationmateriel
  • logicielsjeuxmacos