Différences
Ci-dessous, les différences entre deux révisions de la page.
| Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
| tutoriel:comment_utiliser_mingw32_pour_faire_des_executables_windows [Le 09/11/2009, 09:25] – 213.95.41.13 | tutoriel:comment_utiliser_mingw32_pour_faire_des_executables_windows [Le 21/08/2024, 21:32] (Version actuelle) – ancienne révision (Le 24/05/2024, 14:08) restaurée Amiralgaby | ||
|---|---|---|---|
| Ligne 1: | Ligne 1: | ||
| - | {{tag>brouillon | + | {{tag> |
| ---- | ---- | ||
| - | ====== Comment utiliser | + | ====== Comment utiliser |
| + | Il peut arriver que pour certaines raisons l'on souhaite créer des exécutables pour Windows depuis Linux. La solution est d' | ||
| + | MingW est le portage de GCC sur Windows. MinGW est aussi disponible pour Linux. Il sert, sous ce système, à compiler des applications pour Windows. | ||
| - | Il peut arriver que pour certaines raisons l'on souhaite créer des exécutables pour Windows depuis Linux. Il existe une solution : MingW32. MingW s' | + | //Voir [[wpfr> |
| - | Pour suivre ce tutoriel vous devez savoir | + | Pour suivre ce tutoriel vous devez savoir |
| [[tutoriel: | [[tutoriel: | ||
| + | Nous allons uniquement utiliser du C ici, pour du C++ remplacer **gcc** par **g++**. | ||
| + | Plan du tutoriel : | ||
| + | * Code en C à avoir pour la compilation | ||
| + | * Installation de MingW64 | ||
| + | * Compilation | ||
| + | * Exécution du programme créé | ||
| + | * Supplément : faire un make file pour faciliter la commande de build | ||
| - | + | ===== Code à avoir sous la main ===== | |
| - | ===== Installer GCC ===== | + | La première des choses |
| - | + | Si vous n'en avez pas voici un code à copier-coller dans un fichier | |
| - | Si ce n'est pas déjà fait, installez GCC. Il suffit pour cela d'installer (//via// [[: | + | |
| - | ==== Vérification de l'installation ==== | + | |
| - | + | ||
| - | Pour vérifier l' | + | |
| - | + | ||
| - | Copiez-collez le code suivant : | + | |
| <code c> | <code c> | ||
| #include < | #include < | ||
| Ligne 31: | Ligne 34: | ||
| } | } | ||
| </ | </ | ||
| - | Ou pour une application graphique avec le respect | + | |
| + | Vous pouvez compiler le code suivant | ||
| <code c> | <code c> | ||
| #include < | #include < | ||
| Ligne 43: | Ligne 48: | ||
| return 0; | return 0; | ||
| } | } | ||
| - | |||
| </ | </ | ||
| - | Ouvrez alors un terminal, pour vous placer dans le dossier ou se situe « main.c » et tapez : | ||
| - | | + | ===== Installer le compilateur ===== |
| + | ==== Installer MingW32 ==== | ||
| + | Pour compiler en 32 bits, installer la version 64 bits ci-dessous et remplacer tous les « x86_64-w64-mingw32-gcc » par « i686-w64-mingw32-gcc ». | ||
| + | ==== Installer Mingw64 ==== | ||
| + | installer **[[apt> | ||
| - | Faites ensuite | + | En ligne de commande cela donne : |
| + | sudo apt install gcc-mingw-w64 | ||
| - | ./bonjour | + | ==== Compiler en ligne de commande ==== |
| + | x86_64-w64-mingw32-gcc -o bonjour.exe main.c | ||
| - | Le message : « //Bonjour linuxien !// » apparait. | + | < |
| - | + | mais ce n'est absolument pas obligatoire sur Linux</ | |
| + | TADA ! un bel exécutable fut créé dans le dossier courant, faites | ||
| + | file bonjour.exe # permet de voir le type de fichier | ||
| + | C'est bel est bien un exécutable Windows s'il possède **Windows** dans sa description. | ||
| - | ===== Installer MingW32 ===== | + | Vous venez de créer un exécutable pour Windows. |
| + | ==== Le « makefile » ==== | ||
| + | [[:make]] est un utilitaire pour " | ||
| + | Sa syntaxe est au premier abord déroutante… | ||
| + | Il permet de grandement simplifier la compilation, | ||
| - | L' | + | Créons |
| - | Cela fait, recompilez le programme fait plus haut en remplaçant : | + | |
| - | + | ||
| - | gcc -o bonjour main.c | + | |
| - | + | ||
| - | par | + | |
| - | + | ||
| - | i586-mingw32msvc-gcc -o bonjour.exe main.c | + | |
| - | + | ||
| - | **Note :** //bonjour// a été remplacé par // | + | |
| - | + | ||
| - | Vous venez de créer un exécutable pour Win | + | |
| - | + | ||
| - | + | ||
| - | ===== Code Blocks ===== | + | |
| - | + | ||
| - | Lien pour le cross compileur (anglais) : http:// | + | |
| - | + | ||
| - | ===== Le « makefile » ===== | + | |
| - | + | ||
| - | Imaginons | + | |
| <code makefile> | <code makefile> | ||
| - | exe: main.c | + | # Makefile : build exécutable Windows |
| - | gcc -o exe main.c | + | w-exe: main.c |
| + | x86_64-w64-mingw32-gcc -o main.exe main.c | ||
| </ | </ | ||
| - | **Note :** Il y a une tabulation et pas une suite d' | + | **Note :** Il y a une tabulation et pas une suite d' |
| Attention aux logiciels de traitement de texte qui remplacent, par défaut, les tabulations par des espaces. | Attention aux logiciels de traitement de texte qui remplacent, par défaut, les tabulations par des espaces. | ||
| - | Pour l' | + | Pour l' |
| make | make | ||
| - | Il vous suffit de maintenant remplacer « gcc » par « i586-mingw32msvc-gcc » pour que le // | + | ===== Exécuter |
| + | Utilisez [[: | ||
| + | wine main.exe | ||
| + | ===== Problème connus ==== | ||
| + | on accueil vos erreurs sur [[https:// | ||
| ===== Conclusion ===== | ===== Conclusion ===== | ||
| + | Vous pouvez maintenant créer des exécutables Windows depuis Linux : il vous suffit simplement de remplacer lors de vos compilations « gcc » par « x86_64-w64-mingw32-gcc » et « g++ » par « x86_64-w64-mingw32-g++ ». | ||
| - | + | N' | |
| - | Vous pouvez maintenant créer des exécutables Windows depuis Linux : il vous suffit juste de remplacer lors de vos compilations « gcc » par « i586-mingw32msvc-gcc », « g++ » par « i586-mingw32msvc-g++ », etc. | + | |
| - | + | ||
| - | N' | + | |
| ===== Références ====== | ===== Références ====== | ||
| - | + | | |
| - | | + | * [fr] Source : [[http:// |
| - | * Source : [[http:// | + | |
| ---- | ---- | ||
| - | // | + | // |
