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

Signaler
Messages postés
5
Date d'inscription
jeudi 10 décembre 2009
Statut
Membre
Dernière intervention
12 décembre 2009
-
Messages postés
5
Date d'inscription
jeudi 10 décembre 2009
Statut
Membre
Dernière intervention
12 décembre 2009
-
Bonjour, voici le message d'erreur que j'obtiens quand j'execute mon projet.
Il s'agit du 'Hello World' par défaut quand je crée un projet C++ avec Monodevelop sur une debian lenny ppc. j'ai installé g++-4.3.
(Je débute, ça se voit ?)

10 réponses

Messages postés
3833
Date d'inscription
dimanche 12 décembre 2004
Statut
Modérateur
Dernière intervention
11 juin 2021
122
Fais voir le code exact.
Que se passe-t-il si tu le compile dans un terminal ?
g++ -W -Wall - pedantic fichier.cc -o prog

Si tu veux faire du C++, Monodevelop n'est pas être pas le mieux (c'est bien pour du C#, pour le C++, je suis dubitatif). Je préfère de loin, et par ordre de préférence:
- emacs (un peu déroutant pour un débutant)
- QTcreator (Excellent, mais peut être un peu trop orienté QT).
- Eclipse avec plugin CDT. (Pas mal du tout pour un débutant).
Messages postés
5
Date d'inscription
jeudi 10 décembre 2009
Statut
Membre
Dernière intervention
12 décembre 2009

// project created on 08/12/2009 at 21:58
#include <stdio.h>

int main (int argc, char *argv[])
{
printf ("salut\n");

return 0;
}

De toute façon, je vais adopter eclipse. (emacs pour linux est juste un éditeur de texte, non ?)
"apt-get install eclipse" instellera tout ce qu'il faut ?

Ps : Faut-il que je clique sur "réponse acceptée" ?
Messages postés
3833
Date d'inscription
dimanche 12 décembre 2004
Statut
Modérateur
Dernière intervention
11 juin 2021
122
emacs pour linux est juste un éditeur de texte

Bien plus que ça ! C'est un éditeur de code qui peut s'interfacer avec n'importe quoi. J'édite mon code, je le débug et je le lance dans emacs !
Tout est configurable, et le comparer à un simple éditeur de texte serait un peu abusé. On peut coder en lisp autant de fonctionnalité à lui ajouter que l'on veut (ou en reprendre des existantes). Je travail sous emacs depuis plus de 4 ans, et je ne compte pas passer à Eclipse, c'est qu'il y a une raison, non ? Mais bon je suis hors sujet :)

Je te conseille de ne pas utiliser les IDE du dépôts, ils ne sont généralement pas à jour. Télécharge Eclipse + le plugin CDT, ou bien tu installes QTcreator (pas obligé de faire du QT) et tu crées un projet vide. Il te génère alors un makefile et ne te fais rien en rapport avec QT. Tu peux alors créer de nouveaux fichiers dans le projet dans lequel tu fais du C+. Tu peux heureusement utiliser cet IDE normalement (le débugger est pas mal).
Messages postés
3833
Date d'inscription
dimanche 12 décembre 2004
Statut
Modérateur
Dernière intervention
11 juin 2021
122
J'oubliais, avant de changer d'éditeur, écrit le code suivant dans un fichier texte:

#include 

int main()
{
  std::cout << "Hello world" << std::endl;

  return 0;
}


Ensuite, enregistres ce fichier et tape dans un terminal:


g++ fichier.cc


Si ça fonctionne et te crée un fichier exécutable "a.out", c'est que tout va bien. Sinon, il te faut installer gcc.
Messages postés
1115
Date d'inscription
mercredi 15 juin 2011
Statut
Membre
Dernière intervention
6 mai 2021
4
Eclipse est beaucoup plus orienté java. J'ai déjà fait du dév C++ et java avec cet IDE.

CptPingu, il débute, emacs est-il vraiment fait pour les débutant ? Peut-être que oui, si on prend le temps de comprendre.
"IDE du dépôts" ca veut dire quoi ?
Messages postés
3833
Date d'inscription
dimanche 12 décembre 2004
Statut
Modérateur
Dernière intervention
11 juin 2021
122
Eclipse est beaucoup plus orienté java.

Clairement, c'est la raison pour laquelle, je lui conseille plutôt QTCreator.

CptPingu, il débute, emacs est-il vraiment fait pour les débutant ? Peut-être que oui, si on prend le temps de comprendre.

Clairement, non. Il faut pas mal d'investissement pour apprendre à en bien l'exploiter. Je lui propose d'ailleurs surtout Eclipse ou QTCreator.

"IDE du dépôts" ca veut dire quoi ?

Je veux dire par là qu'il doit aller chercher les derniers binaires sur les sites officiels, plutôt que de prendre ces des dépôts de sa distribution. Par exemple, sur une Debian, ne pas faire un apt-get install, mais aller chercher les binaires soit même. Les dépôts sont souvent en retard. QTCreator, sur Ubuntu 9.04 en est à sa version 1.0.0, alors qu'il existe la version 1.3.0, vraiment plus évolué.
Messages postés
5
Date d'inscription
jeudi 10 décembre 2009
Statut
Membre
Dernière intervention
12 décembre 2009

Je n'ai pas trouvé sur le site de version pour linux ppc de qtcréator.

En résumé, pouvez-vous m'orienter sur le choix d'une IDE (ou en ligne de commande ?) ?

pour programmer en C++
débutant mais prêt à s'investir
Lenny PPC (ibook G4 12" 1,125 Go)
Messages postés
5
Date d'inscription
jeudi 10 décembre 2009
Statut
Membre
Dernière intervention
12 décembre 2009

S3P:/home/eric# gcc hello.cpp
/tmp/ccIyyiIS.o: In function `main':
hello.cpp:(.text+0x16): undefined reference to `std::cout'
hello.cpp:(.text+0x1a): undefined reference to `std::cout'
hello.cpp:(.text+0x24): undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::operator<< <std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*)'
hello.cpp:(.text+0x32): undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::endl<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&)'
hello.cpp:(.text+0x36): undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::endl<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&)'
hello.cpp:(.text+0x38): undefined reference to `std::basic_ostream<char, std::char_traits<char> >::operator<<(std::basic_ostream<char, std::char_traits<char> >& (*)(std::basic_ostream<char, std::char_traits<char> >&))'
/tmp/ccIyyiIS.o: In function `__static_initialization_and_destruction_0(int, int)':
hello.cpp:(.text+0xa0): undefined reference to `std::ios_base::Init::Init()'
hello.cpp:(.text+0xa6): undefined reference to `std::ios_base::Init::~Init()'
hello.cpp:(.text+0xaa): undefined reference to `std::ios_base::Init::~Init()'
/tmp/ccIyyiIS.o:(.eh_frame+0x11): undefined reference to `__gxx_personality_v0'
collect2: ld returned 1 exit status

Pas glop ?
Messages postés
3833
Date d'inscription
dimanche 12 décembre 2004
Statut
Modérateur
Dernière intervention
11 juin 2021
122
Version linux de QT:
http://qt.nokia.com/downloads/sdk-linux-x11-32bit-cpp

C'est g++ et non gcc.
Messages postés
5
Date d'inscription
jeudi 10 décembre 2009
Statut
Membre
Dernière intervention
12 décembre 2009

CptPingu, le lien que tu me donnes est pour i86. Je l'ai d'ailleurs installé su mon fixe (ubuntu) et ça marche très bien. Mais mon portable n'a pas un processeur intel mais PPC. Il ne marche pas dessus.