Rechercher : dans
Par :

Monodevelop : pb de compilation avec g++

Dernière réponse le 25 sep 2008 à 19:59:15 Asthmet, le 21 sep 2008 à 22:59:35 
 Signaler ce message aux modérateurs

Bonjour,

pour entrer dans le vif du sujet, je voudrais savoir pourquoi Monodevelop me dit "Compiler not found: g++" lors de la première utilisation sur un programme basique en c++ . Il ne m'a jamais demandé où trouver le fichier pour compiler (comme javac.exe pour Java, le seul language de prog que je connaisse à l'heure actuelle ^^) et je ne sais pas où le lui donner, je ne sais d'ailleurs pas où le trouver moi-même.

Merci de votre aide et demandez moi si vous avez besoin de plus de détails,

Voili, voilou, je crois que c'est tout !! :)

Configuration: Linux Ubuntu 8.04
Firefox 3.0.1

Meilleures réponses pour « Monodevelop : pb de compilation avec g++ » dans :
Compiler un programme en C avec Dev C++ sous Vista VoirIl est très probable que vous ayez des problèmes lors de la compilation d'une source C sous Vista avec Dev C++. Solution rapide de secours: le compilateur g++ Voici une astuce pour Dev-Cpp : Aller dans "Outils" -> "Options du compilateur" puis...
La compilation et les modules en C et en C++ VoirCet article a pour vocation d'introduire les notions de bases de la compilation en C et en C++ et de la programmation modulaire. Il permet de mieux comprendre les messages d'erreur du compilateur. Les notions abordées ici sont indépendantes du...
Linux - Compilation du noyau (Kernel) VoirCompilation du Kernel Cet article a pour but de présenter la compilation du noyau (ou kernel) sous Linux. Les explications suivantes sont basées sur la version 2.4.20 du kernel, la dernière en date au moment de l'écriture de l'article (mars...

1

mamiemando, le 22 sep 2008 à 10:01:02

Ben là s'il cherche g++ c'est que tu lui as dit que ton programme était écrit en C++. Du coup il cherche un compilateur C++ (ici g++) qu'il ne trouve pas, ce qui est logique si tu ne l'as pas installé. Pour développer en java tu peux utiliser directement eclipse, bluej, ... où tout faire à la main avec un
- éditeur texte (vim, emacs, nedit...)
- make ou ant
- javac et java

Bonne chance

Répondre à mamiemando

2

Asthmet, le 22 sep 2008 à 13:25:01

Merci !!! J'ai trouvé la solution ... Comme tu l'as dit, il fallait installer g++ (ce que j'ai fait avec la commande " sudo apt-get install g++ ") ce qui m'a d'ailleurs étonné étant donné que je croyais que g++ était installé d'office ssur Ubuntu 8.04. Enfin bref, le résultat est tout de même le bon :p
En ce qui concerne Java, pas de problème puisque je développe avec ce langage depuis 2 ans sur JDevelopper (dans le cadre de mon école)

Sinon, je rencontre un autre problème maintenant que je peux compiler. Sur un petit programe à la con :

#include <iostream.h>

void main()
{
cout << "Bienvenue" << endl;
}


j'obtiens la réponse suivante :

Compilation du projet: essaiUn (Debug)

La compilation a échoué. Object reference not set to an instance of an object


Dites moi si je dois éditer un nouveau post pour ce nouveau problème. Sinon dites moi ce qui cloche et comment y remédier (partez du fait que je connais rien DU TOUT à C++, ça ira plus vite... ;)

Merci d'avance

Répondre à Asthmet

3

mamiemando, le 22 sep 2008 à 21:38:42
  • +1

#include <iostream.h>

void main()
{
  cout << "Bienvenue" << endl;
} 

Oulà alors on va oublier l'écriture du C++ d'il y a vingt ans et réécrire ça proprement :-) Aujourd'hui les headers de la STL de prennent plus de .h et toutes les classes sont dans le namespace std. De plus main est sensé retourner un code d'exécution (0 si tout va bien). Ce qui donne :
#include <iostream>

int main(){
  std::cout << "Bienvenue" << std::endl;
  return 0;
} 

Si tu n'aimes pas les std:: et si tu es dans un fichier .cpp tu peux écrire :
#include <iostream>
using namespace std;

int main(){
  cout << "Bienvenue" << endl;
  return 0;
} 

Bonne chance

Répondre à mamiemando

4

Asthmet, le 22 sep 2008 à 23:27:31

J'ai essayé tes deux propositions mais aucune des deux ne marche et je reçois toujours le même message d'erreur que précédemment.
De plus, je ne comprends pas pourquoi le main ne peut pas être void. Quel intêret de le forcer à renvoyer une valeur ? Et est cce qu'il peut renvoyer autre chose (un string, par exemple) ?
Voili, voilou, je crois que c'est tout !! :)

Répondre à Asthmet

5

mamiemando, le 23 sep 2008 à 10:08:48
  • +1

De plus, je ne comprends pas pourquoi le main ne peut pas être void. Quel intêret de le forcer à renvoyer une valeur ? Et est ce qu'il peut renvoyer autre chose (un string, par exemple) ?

C'est une convention. Si tu lances ton programme C/C++ depuis un script par exemple, il récupère un code d'exécution qui est un int. Mais en pratique rien n'empêche d'avoir un main qui retourne void.

Le code que je t'ai donné marche (en tout cas sous linux), si tu as un problème c'est sûrement ton compilateur qui est mal installé ou mal configuré :

(mando@aldur) (~) $ cat pouet.cpp
#include <iostream>

int main(){
        std::cout << "Bienvenue" << std::endl;
        return 0;
}
(mando@aldur) (~) $ g++ -W -Wall -o plop pouet.cpp
(mando@aldur) (~) $ ./plop
Bienvenue
(mando@aldur) (~) $

En terme de paquet voilà ce que j'ai installé : libc6, libc6-dev, libc6-i686, gcc, et g++

Bonne chance

Répondre à mamiemando

6

Asthmet, le 24 sep 2008 à 21:50:20

J'ai vérifé que tous les package étaient bien tous installés (ce qui était le cas) et j'ai lancé les même commandes que toi. Résultat : ça marche avec le shell (ouf... :) !!! Donc l'erreur vient de Monodevelop et pour trouver la faille, je vais bien rigoler (moins ouf tout de suite... T_T).
En tout cas, merci pour ton aide ^^

Voili, voilou, je crois que c'est tout !! :)

Répondre à Asthmet

7

mamiemando, le 25 sep 2008 à 10:04:17

Ok alors par contre monodevelop je ne connais pas du tout, mais manifestement c'est ton compilateur qui est mal configuré. Sinon il y a d'autres environnement de développement qui sont sympathiques, comme par exemple kdevelop si tu es sous KDE.

Bonne chance

Répondre à mamiemando

8

Asthmet, le 25 sep 2008 à 13:06:35

Ca se voit que tu connais pas Monodevelop étant donné qu'il est destiné et développé pour tourner sur Gnome ^^
Mais je vais voir si je peux pas trouver une solution. Sinon je pense me tourner vers Eclipse avec l'add-on pour C/C++. Je te tiendrais au courant si tu le veux sinon je clôture cette discussion.

Voili, voilou, je crois que c'est tout !! :)

Répondre à Asthmet

9

 mamiemando, le 25 sep 2008 à 19:59:15

C'est toi qui voit ^^

Répondre à mamiemando