J'ai écrit quelques effets en C ++ (g ++) en utilisant freeglut sous Linux, et je les compile avec
g++ -Wall -lglut part8.cpp -o part8
Je me demandais donc s'il était possible que g ++ crée des exécutables Windows compilés statiques contenant tout le nécessaire?
Je n'ai pas Windows, donc ce serait vraiment cool, si je pouvais faire ça sous Linux :)
Réponses:
mingw32 existe en tant que package pour Linux. Vous pouvez compiler et lier des applications Windows avec lui. Il y a un tutoriel ici sur le forum Code :: Blocks . Notez que la commande devient
x86_64-w64-mingw32-gcc-win32
, par exemple.Ubuntu, par exemple, a MinGW dans ses référentiels:
la source
Une option de compilation pour Windows sous Linux est via mingw. J'ai trouvé un tutoriel très utile ici .
Pour installer mingw32 sur des systèmes basés sur Debian, exécutez la commande suivante:
sudo apt-get install mingw32
Pour compiler votre code, vous pouvez utiliser quelque chose comme:
i586-mingw32msvc-g++ -o myApp.exe myApp.cpp
Vous aurez parfois envie de tester la nouvelle application Windows directement sous Linux. Vous pouvez utiliser le vin pour cela, même si vous devez toujours garder à l'esprit que le vin peut avoir des bogues. Cela signifie que vous n'êtes peut-être pas sûr qu'un bogue est dans wine, votre programme ou les deux, donc n'utilisez wine que pour des tests généraux.
Pour installer wine, exécutez:
sudo apt-get install wine
la source
mingw32-binutils
etmingw32-runtime
parce qu'ils sont des dépendances demingw32
void main(){}
etc ...), je suppose qu'il se compile sous windows mais échoue à mingw, je les ai corrigés. J'ai essayé aussii586-mingw32msvc-cpp
et cela a généré un fichier texte avec quelque chose comme des choses à compiler lol .. celui de g ++ a fonctionné, merci!mingw32
(marqués comme "dépendances". Si vous les spécifiez, ils ne le seront pas (marqués comme "manuels").La méthode suggérée m'a donné une erreur sur Ubuntu 16.04: E: Impossible de localiser le package mingw32
=================================================== ==========================
Pour installer ce package sur Ubuntu, veuillez utiliser ce qui suit:
Après l'installation, vous pouvez l'utiliser:
Notez s'il vous plaît!
Pour une utilisation 64 bits: x86_64-w64-mingw32-g ++
Pour une utilisation 32 bits: i686-w64-mingw32-g ++
la source
Installez un compilateur croisé, comme mingw64 à partir de votre gestionnaire de paquets. Ensuite, compilez de la manière suivante: au lieu d'appeler simplement
gcc
calli686-w64-mingw32-gcc
pour Windows 32 bits oux86_64-w64-mingw32-gcc"
pour Windows 64 bits. J'utiliserais également l'--static
option, car le système cible peut ne pas avoir toutes les bibliothèques.Si vous souhaitez compiler un autre langage, comme Fortran, remplacez
-gcc
par-gfortran
dans les commandes précédentes.la source
J'ai utilisé mingw sous Linux pour créer des exécutables Windows en C, je suppose que C ++ fonctionnerait également.
J'ai un projet, ELLCC, qui comprend des paquets clang et d'autres choses comme une chaîne d'outils de compilation croisée. Je l'utilise pour compiler clang (C ++), binutils et GDB pour Windows. Suivez le lien de téléchargement sur ellcc.org pour les binaires précompilés pour plusieurs hôtes Linux.
la source
De: https://fedoraproject.org/wiki/MinGW/Tutorial
"Trucs et astuces pour utiliser le compilateur croisé Windows": https://fedoraproject.org/wiki/MinGW/Tips
la source
pour Fedora c'est
la source
sudo dnf groupinstall ...
aussi avec .