#1 Le 15/07/2007, à 13:55
- otheym
[Résolu] Impossible de faire de la cross-compilation
Bonjour à tous,
J'ai voulu tester la cross-compilation pour un programme en C afin de compiler un EXE Win32.
Mais j'ai un petit problème, une fois compilé en suivant le tuto : http://doc.ubuntu-fr.org/tutoriel/comment_utiliser_mingw32_pour_faire_des_executables_windows
je ne peux pas lancer l'éxécutable.
Voila ce que me réponde Wine :
christophedlr@Arrakis:~/progs/cours/c/tp/plus_moins$ wine plusmoins.exe
wine: could not load L"Z:\\home\\christophedlr\\progs\\cours\\c\\tp\\plus_moins\\plusmoins.exe": Bad EXE format for
christophedlr@Arrakis:~/progs/cours/c/tp/plus_moins$
Comme j'ai Khexedit d'installé, j'ai regardé l'en-tête du fichier EXE, le voici le sur le screnshot:
http://img167.imageshack.us/my.php?image=capture2rs6.png
Comme ont le voit, la signature est un simple L alors que la signature des fichiers EXE sont sous l'une des 2 formes suivantes:
- Soit MZ et un autre ent-tête PE, le MZ c'est pour la partie DOS(généralement cela affiche le fameu message que ca fonctionne que sous Windows) et l'en-tête PE c'est pour windows.
- Soit c'est uniquement l'en-tête MZ pour les programmes fait pour DOS et non pour Windows.
Hors ici, nous avons aucun des en-tête spécifique au format .EXE de Microsoft.
Je voudrais donc savoir comment faire ? puisque le fichier EXE n'est aps un fichier EXE Windows/DOS.
Merci d'avance a ceux qui pourront m'aider.
Dernière modification par otheym (Le 15/07/2007, à 15:44)
Aelita, je te promet que l'ont pourra bientôt vivre tous les deux.
Je te le jure mon amour.
Hors ligne
#2 Le 15/07/2007, à 15:04
- toto4455
Re : [Résolu] Impossible de faire de la cross-compilation
tu es sur de ne pas avoir un '-c' qui traine dans tes flags de compilation ?
ex qqchose comme ca :
i586-mingw32msvc-gcc -c plusmoins.c -o plusmoins.exe
dans ce cas enleve le "-c" pour le faire en une passe .
i586-mingw32msvc-gcc plusmoins.c -o plusmoins.exe
ou en 2 passes :
i586-mingw32msvc-gcc -c plusmoins.c -o plusmoins.o
i586-mingw32msvc-gcc -o plusmoins.exe plusmoins.o
#3 Le 15/07/2007, à 15:44
- otheym
Re : [Résolu] Impossible de faire de la cross-compilation
Salut toto4455,
Effectivement je faisais avec le param -c.
J'avais aps réagit que en faisant cela(je viens d'y penser), cela me crée le fichier .o mais avec le nom que j'ai donné lol
Je viens de tester sans le -c et c'est bon ca marche, merci beaucoups.
Aelita, je te promet que l'ont pourra bientôt vivre tous les deux.
Je te le jure mon amour.
Hors ligne