#1 Le 26/06/2008, à 16:00
- billux13
[Résolu] mingw32 : problème au linkage
Bonjours à tous
Je veux compiler un jeu en c utilisant la SDL. Pour ça j'utilise le compilateur mingw32 avec la commande suivante :
i586-mingw32msvc-gcc -o BatailleNavale.exe assistant_placement.c fin_jeu.c ia.c jeu.c menu.c placement_bateaux.c saisie.c main.c -lSDL -lSDL_image -lSDL_ttf -lmingw32
Et voici ce qu'il me renvoi :
/usr/lib/gcc/i586-mingw32msvc/4.2.1-sjlj/../../../../i586-mingw32msvc/lib/libmingw32.a(main.o):(.text+0xe3): undefined reference to `_WinMain@16'
collect2: ld returned 1 exit status
J'ai cette erreur avec n'importe quel programme utilisant la SDL. Par contre pour les programmes sans interfaces graphiques sa marche bien.
Apparemment il manque .h qui contiendrai la déclaration de WinMain non ?
Merci de vos réponses
a+
Hors ligne
#2 Le 26/06/2008, à 16:35
- Seren
Re : [Résolu] mingw32 : problème au linkage
Il manque pas une option pour indiquer le chemin du repertoire d'include contenant tes points *.h ?
A priori je vois pas comment le préprocesseur peut trouver les .h là.
genre
-I./include
Dernière modification par Seren (Le 26/06/2008, à 16:39)
"I am not young enough to know everything". Oscar Wilde
Hors ligne
#3 Le 26/06/2008, à 16:42
- geenux
Re : [Résolu] mingw32 : problème au linkage
Tu fait de la cross compilation?
En tout cas, tout est dit pour gcc dans la doc.
Hors ligne
#4 Le 26/06/2008, à 20:11
- billux13
Re : [Résolu] mingw32 : problème au linkage
@seren : j'ai indiqué à mingw le répertoire des .h mais ça ne change rien au problème, il me renvoi la même erreur. Et de toute manière il arrivait bien à trouver les .h de la SDL donc je ne pense pas que ce soit ça.
@geenux : oui oui c'est de la cross compilation, je veux créer un exécutable windows depuis Ubuntu. J'ai bien sur regarder sur la doc (http://doc.ubuntu-fr.org/tutoriel/comme … es_windows et http://doc.ubuntu-fr.org/sdl) mais ça ne résoud rien.
merci quand même pour vos réponses je continu à chercher...
Hors ligne
#5 Le 27/06/2008, à 16:58
- billux13
Re : [Résolu] mingw32 : problème au linkage
Bon problème résolu :
Il faut rajouter -lSDLmain et mettre -lmingw32 avant -lSDL. Ça donne :
i586-mingw32msvc-gcc -o BatailleNavale.exe assistant_placement.c fin_jeu.c ia.c jeu.c menu.c placement_bateaux.c saisie.c main.c -lmingw32 -lSDLmain -lSDL -lSDL_image -lSDL_ttf
Voila a+
Hors ligne