Comment recompiler tout ça ....
Fermé
BananeChaude
Messages postés
4
Date d'inscription
lundi 15 octobre 2012
Statut
Membre
Dernière intervention
18 décembre 2014
-
Modifié par BananeChaude le 16/12/2014 à 13:22
[Dal] Messages postés 6200 Date d'inscription mercredi 15 septembre 2004 Statut Contributeur Dernière intervention 7 janvier 2025 - 18 déc. 2014 à 10:30
[Dal] Messages postés 6200 Date d'inscription mercredi 15 septembre 2004 Statut Contributeur Dernière intervention 7 janvier 2025 - 18 déc. 2014 à 10:30
2 réponses
[Dal]
Messages postés
6200
Date d'inscription
mercredi 15 septembre 2004
Statut
Contributeur
Dernière intervention
7 janvier 2025
1 097
18 déc. 2014 à 10:14
18 déc. 2014 à 10:14
Salut BananeChaude,
Ton fichier compressé contient déjà deux exécutables compilés pour Linux, pour une machine 32 bits, comme l'indique l'utilitaire
Pour exécuter ces programmes, il te faut un système Linux 32 bits doté des bibliothèques dynamiques suivantes révélées par
Les permissions d'exécution ont cependant été retirées sur ces fichiers "prog" et "prog1", pour restaurer les permissions, il faut faire :
ensuite, tu peux les exécuter sous Linux :
Je ne l'ai pas fait sur mon système.
S'agissant de ton code, ton Makefile ne fonctionne pas avec GNU Make.
Une compilation utilisant les options indiquées dans ce Makefile avec gcc donne :
La compilation échoue car "nb_animaux" n'est pas déclarée.
Un grep sur les fichiers du projet semble indiquer que cette variable n'est déclarée nulle part.
En l'état, les sources ne sont pas compilables en raison de cette erreur.
Il y a aussi de nombreux warnings.
Dal
Ton fichier compressé contient déjà deux exécutables compilés pour Linux, pour une machine 32 bits, comme l'indique l'utilitaire
file:
$ file prog
prog: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.9, not stripped
$ file prog1
prog1: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.9, not stripped
Pour exécuter ces programmes, il te faut un système Linux 32 bits doté des bibliothèques dynamiques suivantes révélées par
ldd:
$ ldd prog
linux-gate.so.1 => (0xb77e4000)
libpthread.so.0 => /lib/i386-linux-gnu/i686/cmov/libpthread.so.0 (0xb77a9000)
libc.so.6 => /lib/i386-linux-gnu/i686/cmov/libc.so.6 (0xb7644000)
/lib/ld-linux.so.2 (0xb77e5000)
$ ldd prog1
linux-gate.so.1 => (0xb7709000)
libpthread.so.0 => /lib/i386-linux-gnu/i686/cmov/libpthread.so.0 (0xb76ce000)
libc.so.6 => /lib/i386-linux-gnu/i686/cmov/libc.so.6 (0xb7569000)
/lib/ld-linux.so.2 (0xb770a000)
Les permissions d'exécution ont cependant été retirées sur ces fichiers "prog" et "prog1", pour restaurer les permissions, il faut faire :
$ chmod +x prog
ensuite, tu peux les exécuter sous Linux :
$ ./prog
Je ne l'ai pas fait sur mon système.
S'agissant de ton code, ton Makefile ne fonctionne pas avec GNU Make.
Une compilation utilisant les options indiquées dans ce Makefile avec gcc donne :
$ gcc -Wall -D_REENTRANT -lpthread *.c -o jeu
init.c: In function `main':
init.c:96:19: error: `nb_animaux' undeclared (first use in this function)
init.c:96:19: note: each undeclared identifier is reported only once for each function it appears in
prog1.c: In function `main':
prog1.c:128:3: warning: implicit declaration of function `sleep' [-Wimplicit-function-declaration]
prog.c:243:1: warning: return type defaults to `int' [-Wreturn-type]
prog.c: In function `main':
prog.c:282:3: warning: implicit declaration of function `sleep' [-Wimplicit-function-declaration]
prog.c:249:22: warning: unused variable `lapinou' [-Wunused-variable]
prog.c:245:8: warning: unused variable `coor' [-Wunused-variable]
prog.c: In function `renard':
prog.c:211:1: warning: control reaches end of non-void function [-Wreturn-type]
prog.c: In function `lapin':
prog.c:151:1: warning: control reaches end of non-void function [-Wreturn-type]
threads_total_tas_struct.c:24:1: warning: return type defaults to `int' [-Wreturn-type]
threads_total_tas_struct.c: In function `main':
threads_total_tas_struct.c:29:19: warning: unused variable `v3' [-Wunused-variable]
threads_total_tas_struct.c:29:14: warning: unused variable `v2' [-Wunused-variable]
threads_total_tas_struct.c:29:9: warning: unused variable `v1' [-Wunused-variable]
threads_total_tas_struct.c: In function `somme':
threads_total_tas_struct.c:22:1: warning: control reaches end of non-void function [-Wreturn-type]
La compilation échoue car "nb_animaux" n'est pas déclarée.
Un grep sur les fichiers du projet semble indiquer que cette variable n'est déclarée nulle part.
En l'état, les sources ne sont pas compilables en raison de cette erreur.
Il y a aussi de nombreux warnings.
Dal
BananeChaude
Messages postés
4
Date d'inscription
lundi 15 octobre 2012
Statut
Membre
Dernière intervention
18 décembre 2014
18 déc. 2014 à 10:25
18 déc. 2014 à 10:25
Bonjour,
Merci pour toute ces informations. Le code n'est certainement pas à jour car c'est un projet que j'ai rendu durant mes études et il se lançait c'est sur (sinon je n'aurais pas eu 17/20 ^^)
Tant pis, je verrais si je trouve le temps un jour de le restaurer ^^"
Merci beaucoup !
Merci pour toute ces informations. Le code n'est certainement pas à jour car c'est un projet que j'ai rendu durant mes études et il se lançait c'est sur (sinon je n'aurais pas eu 17/20 ^^)
Tant pis, je verrais si je trouve le temps un jour de le restaurer ^^"
Merci beaucoup !
[Dal]
Messages postés
6200
Date d'inscription
mercredi 15 septembre 2004
Statut
Contributeur
Dernière intervention
7 janvier 2025
1 097
18 déc. 2014 à 10:30
18 déc. 2014 à 10:30
Corriger l'erreur signalée pour le recompiler ne semble pas surhumain, si c'est la seule erreur.
Autrement, comme indiqué, tu as déjà des exécutables produits (pour le système sous lequel ils ont été compilés).
Dal
Autrement, comme indiqué, tu as déjà des exécutables produits (pour le système sous lequel ils ont été compilés).
Dal