Probleme de version gcc [compliqué]

Résolu/Fermé
alucard74 Messages postés 8 Date d'inscription mercredi 24 mars 2010 Statut Membre Dernière intervention 11 juin 2010 - 22 avril 2010 à 15:03
dubcek Messages postés 18767 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 5 mars 2025 - 24 avril 2010 à 08:05
Bonjour, je travail en ce moment sur un projet developper en c++ qui avant etait compiler avec gcc4.2.2 sous un mandrake.
Moi je suis passé a un kubuntu 9.10 ou le compilateur installé est gcc 4.4.1
Les erreurs que j'avait a la compilation etaient du a des include manquant: (cstdlib par exemple pour les exit() qui n'est plus inclu dans iostream)
J'ai corrigé ces erreurs mon code compile mais il y a des chose etrange qui se passe par exemple j'ai une valeur de retour de 139 alors que mon code (26 000 lignes) ne comporte que des exit() exit(0) exit(-1) exit(1) ou exit(2)

Je voulais savoir si il y a autre chose a faire que rajouter les include manquant pour le portage du code de gcc 4.2.2 a gcc 4.4.1.

Et autre question je voudrais savoir si il est possible d'installer gcc 4.2.2 sans desinstaler la version a jours et pouvoir choisir l'un ou l'autre pour la compilation et si oui comment il faut faire.
Merci d'avance de votre aide n'hesitez pas a me demander si vous avez besoin de plus d'information.
A voir également:

6 réponses

dubcek Messages postés 18767 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 5 mars 2025 5 628
22 avril 2010 à 15:16
hello
un exit() peut retourner n'importe quelle valeur. mets-en une.
1
dubcek Messages postés 18767 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 5 mars 2025 5 628
23 avril 2010 à 09:16
pour le exit(-1), c'est très possible
une possibilité c'est d'aller chercher le compilateur et prendre le fichier tar.gz, et l'extraire dans un répertoire, par ex. gcc422
et utiliser gcc422/bin, gcc422/lib, etc pour la compilation
1
dubcek Messages postés 18767 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 5 mars 2025 5 628
23 avril 2010 à 13:05
créer un répertoire, par ex. /home/nom/gcc422
exécuter
./configure --prefix=/home/nom/gcc422
make
1
alucard74 Messages postés 8 Date d'inscription mercredi 24 mars 2010 Statut Membre Dernière intervention 11 juin 2010 3
Modifié par alucard74 le 23/04/2010 à 08:47
Merci de ta réponse.
Voila je n'ai plus que des exit -1 0 1 ou 2
mais j'ai tjr ce code de retour 139

Voila le code présent dans mon interface java qui lance un exe en c++
J'avais prevenu c'est pas un projet trés simple ^^

java.lang.Process process = runTime.exec(temp); 
System.out.println("Code de retour : " + process.waitFor()); 




Serait il possible que ce soit les exit(-1) qui me renvoie 139? (pour une histoire d'unsigned int ou je ne sais quoi?)

Sinon quelqu'un a une idée pour que je puisse compilé ac gcc 4.2.2 sans desinstaller la version 4.4.1
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
alucard74 Messages postés 8 Date d'inscription mercredi 24 mars 2010 Statut Membre Dernière intervention 11 juin 2010 3
23 avril 2010 à 10:37
Ok,
C'est justement sur cette procedure que j'ai besoin d'un peu plus d'info. (Je suis pas vraiment au point niveau compilation.)
J'ai extrait l'archive dans un dossier mais je ne sais pas comment l'utiliser sans pour autant l'installer (de peur que ça m'ecrase la nouvelle version)
pour info voila ce que le dossier contient

ABOUT-NLS           compile       configure     FAQ          INSTALL       libdecnumber  libmudflap       ltcf-c.sh    maintainer-scripts  mkdep           symlink-tree
boehm-gc            config        configure.in  faq.html     install-sh    libffi        libobjc          ltcf-cxx.sh  Makefile.def        mkinstalldirs   ylwrap
BUGS                config.guess  contrib       fixincludes  intl          libgfortran   libssp           ltcf-gcj.sh  Makefile.in         move-if-change  zlib
bugs.html           config-ml.in  COPYING       gcc          LAST_UPDATED  libgomp       libstdc++-v3     ltconfig     Makefile.tpl        NEWS
ChangeLog           config.rpath  COPYING.LIB   gnattools    libada        libiberty     libtool-ldflags  ltmain.sh    MD5SUMS             README
ChangeLog.tree-ssa  config.sub    depcomp       include      libcpp        libjava       libtool.m4       MAINTAINERS  missing             README.SCO



Merci de ton aide
0
dubcek Messages postés 18767 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 5 mars 2025 5 628
24 avril 2010 à 08:05
j'ai oublié la suite
make install
ensuite pour compiler
changer les PATH
export PATH=/home/nom/gcc422/bin:$PATH
export LD_LIBRARY_PATH=/home/nom/gcc422/lib:$LD_LIBRARY_PATH
pour la compilation, changer les locations des include et des lib
-I/home/nom/gcc422/include
-L/home/nom/gcc422/lib
0