Exécution d'un prog C++ avec le terminal

Steph-24

Membre expert
Club iGen
11 Janvier 2006
1 388
59
38
Strasbourg
Salut à tous,

Je suis depuis quelques jours en DUT informatique. Et pour les cours, on nous demande de programmer en C++ de la manière suivante:

On utilise des PC sous Linux, on lance un terminal et la commande suivante:
kwrite nomduprogramme.cpp
Ce qui nous ouvre un éditeur de texte pour écrire le programme. On finit par compiler grace à l'instruction g++ et ensuite on éxecute le fichier de sortie (par exemple: nomduprogramme.out)

J'ai donc voulu reproduire le même travail avec mon mac et pour cela j'ai installer X11 et nedit. J'arrive donc à écrire mes programme, les compiler avec l'instruction g++ dans le terminal de X11, mais je n'arrive pas à exécuter le fichier de sortie.
le terminal me donne l'erreur suivante: -bash: nomduprogramme.out: command not found :confused:

Je ne vois pas de solution à mon problème et j'aimerais bien pouvoir réaliser mes travaux sur mon mac au lieu de devoir installer une distribution Linux.

Si quelqu'un peut m'aider, je le remercie d'avance. :up:
 
./nomduprogramme.out

Il faut ajouter "./" si ton répertoire n'est pas dans le chemin défini dans PATH.
Il n'y aucunement besoin d'installer Linux pour faire tes TP d'info. ;)
 
si tu veux éviter d'ajouter "./" avant chaque nom de programme, édite les fichiers ".bashrc" et ".bash_profile" qui se trouvent à ta racine et et ajoute la ligne suivante à chacun de ces deux fichiers :

PATH=$PATH:.:

NB : Si tu as déjà une ligne qui ressemble à PATH=$PATH:xxxxxxxx:, il te suffit d'ajouter ".: à la fin de la ligne afin d'abtenir PATH=$PATH:xxxxxxxx:.:
 
Merci à vous deux pour vos réponses rapides.

Cependant, j'ai essayé en rajoutant "./" devant le nom de fichier mais maintenant, le terminal me donne l'erreur suivante:

bash: ./nomduprogramme.out: cannot execute binary file

Est-ce que vous avez une idée? ;)
 
Est ce que ton fichier est exécutable : quels sont ses droits ?
chmod +x nomduprogramme.out pour le rendre exécutable.
 
Est ce que ton fichier est exécutable : quels sont ses droits ?
chmod +x nomduprogramme.out pour le rendre exécutable.

Les droits de mon fichiers sont les suivants:

rwxrwxrwx. Donc je pense qu'il a tout les droits. D'après mes faibles connaissances en Unix, :D . (Je rappelle juste que je fonctionne sous le terminal de X11, et non pas sous celui de MacOS X, même si je ne sais pas si c'est les même) ;)
 
Et tu as bien installé les outils de développement ? La commande g++ est reconnue ? Que donne "which g++" ?
 
Et tu as bien installé les outils de développement ? La commande g++ est reconnue ? Que donne "which g++" ?

La seule chose que j'ai fait, c'est que j'ai installé X11 à partir du dvd de tiger et j'ai ensuite placé le fichier nedit dans le dossier /usr/X11R6/bin.
La commande g++ était reconnue dès mon premier test de compilation.

Et pour which g++, le terminal me retourne: "/usr/bin/g++"
 
Installe les outils de développement et reviens nous voir ensuite. :zen: :siffle: :D

PS : le compilateur par défaut pour Mac OSX est gcc et non g++.

PS 2 : tu peux compiler dans le terminal UNIX, tu n'est pas obliger d'ouvrir X11.
 
Ceux qui sont sur ton DVD de Mac OSX (XCode en est un morceau suffisant pour pouvoir coder) ou si tu veux la dernière version tu peux la trouver sur l'ADC (enrgistrement gratuit obligatoire).

Les outils de développement sont installés chez moi (Xcode, Interface Builder etc...) mais je ne peu toujours rien faire avec le terminal.
Cela veut-il dire que je dois compiler et exécuter avec Xcode?
 
Que fais-tu exactement ? A quoi ressemble ton programme ? Quelles sont les erreurs affichées ?

J'essaye juste de faire la même chose qu'en cours (j'ai décrit les étapes plus haut). Le faire avec Xcode ne m'intéresse pas puisqu'on travaille pas dessus en cours. On travaille sous Linux (Mandriva) et pour faire mon boulot, j'ai pour le moment beosin d'installer Ubuntu sur mon PC (et encore tout ne fonctionne pas).


En résumé, ce que je cherche à faire c'est:

- Ecrire un programme en C++ avec nedit ou un autre éditeur de texte (je ne connais que nedit sous mac)
- Le compiler avec l'instruction g++ dans le terminal (Mac OS X ou X11)
- l'exécuter à partir du terminal (Mac OS X ou X11)

J'ai juste installé X11, les outils de dévellopement et nedit!
 
J'essaye juste de faire la même chose qu'en cours (j'ai décrit les étapes plus haut). Le faire avec Xcode ne m'intéresse pas puisqu'on travaille pas dessus en cours. On travaille sous Linux (Mandriva) et pour faire mon boulot, j'ai pour le moment beosin d'installer Ubuntu sur mon PC (et encore tout ne fonctionne pas).
Et tu as bien raison, c'est très bien que le cours ne commence pas avec l'utilisation d'un IDE :)


En résumé, ce que je cherche à faire c'est:

- Ecrire un programme en C++ avec nedit ou un autre éditeur de texte (je ne connais que nedit sous mac)
Voici une liste de bon éditeur de texte sous mac (et qui ne nécessite pas X11) :
- TextMate : payant 39€, GÉNIAL !, va voir les screencast si tu as le temps
- TextWrangler : pas beau et bien moins puissant que TextMate, mais gratuit.
- BBEdit : grand frère de TextWrangler à 99€ :rolleyes: C'est quand même un des plus puissant, avec TextMate.
- Smultron : Sa grande (et quasiment unique ?) qualité est d'être libre.
- SubEthaEdit : permet d'éditer un fichier à plusieurs, mais pas de notion de projet et un seul fichiers par fenêtre, gratuit pour un usage non commerciale, sauf pour les dernières versions qu'il faut payer de toute façon


- Le compiler avec l'instruction g++ dans le terminal (Mac OS X ou X11)
Utilise le terminal de OS X.
Bloc de code:
$ g++ -o nomDeLExecutable tonFicher.cpp


- l'exécuter à partir du terminal (Mac OS X ou X11)
Un ./nomDeLExecutable pour le lancer, sauf si tu as ajouté . (le point représente le répertoire courant sous unix) à ton PATH (dans le ~/.profile par exemple)


J'ai juste installé X11, les outils de dévellopement et nedit!
C'est largement suffisant (il te suffit des outils de développement (pour les compilo etc...)) :zen:
 
Et avec gcc ça donne quoi ? Tu n'aurais pas un problème de linkage ? N'y aurait-il pas un message plus explicite dans la console ? Qu'y a-t-il dans ton programme ? Utilises tu une librairie extérieure ?

Chez moi ça marche sans problème sur un "Hello world" aussi bien avec gcc qu'avec g++.