Est-il possible de créer des applications de console Windows (C ++ ou C #) dans l'IDE d'Ubuntu (par exemple Anjuta) et de le compiler pour Windows?
Est-il possible de créer des applications de console Windows (C ++ ou C #) dans l'IDE d'Ubuntu (par exemple Anjuta) et de le compiler pour Windows?
Réponses:
Vous voulez faire de la compilation croisée, qui est un moyen de compiler du code pour des plates-formes autres que celle sur laquelle vous êtes, en particulier lorsque le processeur est complètement différent. Fondamentalement, vous devez installer tous les en-têtes pour votre cible (c'est-à-dire Windows), puis dire au compilateur qu'il effectue une compilation croisée afin qu'il ne fasse pas certaines vérifications du système et pointe à la place vers des répertoires non standard.
En fonction de la langue, vous pourriez trouver utile de faire une recherche ou une question en particulier, ou si vous faites c de base, vous pouvez utiliser les outils MinGW et le même type d'outils de compilation basés sur Linux qui utilisent gcc:
sudo apt-get install gcc-mingw32
Il existe un bon guide pour la compilation croisée qt / win32 à l'aide des outils MinGW .
Vous devriez jeter un œil à MingW . Il fournit un compilateur compatible gcc pour Windows.
Il existe une version multiplateforme que vous pouvez utiliser à partir de Linux pour générer des binaires Windows. Vous pouvez l'installer avec synaptic, ou en exécutant:
sudo apt-get install gcc-mingw32
Sur cette base, et en utilisant la commande habituelle «make», vous pouvez créer des programmes pour Windows.
Ensuite, tout IDE qui vous permet d'utiliser make et gcc peut utiliser ce compilateur. Par exemple, voici comment procéder à partir de l'IDE Code :: Blocks .
Les autres réponses sont correctes pour le code C / C ++; vous aurez besoin d'un compilateur croisé.
Pour le code C #, vous pouvez simplement utiliser Monodevelop , car le compilateur de Mono produit le même type de bytecode et de format exécutable que le compilateur .NET (et vice versa). Les applications que vous créez avec Mono s'exécuteront sans modification sur les machines Windows tant que vous restez dans les bibliothèques de classes de base .NET standard ou regroupez toute bibliothèque supplémentaire que vous utilisez avec votre application.
Pourrait vouloir essayer Qt avec Qt Creator. Grand cadre pour GUI et application console, vous pouvez compiler pour Windows, Linux et OS X.
La façon la plus courante de programmer l'application Windows Linux (Ubuntu) est d'utiliser les outils Mingw:
Il existe des packages ubuntu pour mingw prêts à être installés.
De cette page :
sudo apt-get install wine mingw32 mingw32-binutils mingw32-runtime
C'est tout ce qui est nécessaire pour une compilation croisée de base. Essayons:
#include <windows.h>
int APIENTRY WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance,
LPSTR lpCmdLine, int nCmdShow)
{
MessageBox(NULL,
"Cette fenêtre prouve que le cross-compilateur est fonctionnel !",
"Hello World", MB_OK);
return 0;
}
Compilez ceci en utilisant:
i586-mingw32msvc-g++ -o essai.exe essai.cpp
Pour exécuter, vous avez besoin de la bibliothèque mingw: mingwm10.dll:
gunzip -c /usr/share/doc/mingw32-runtime/mingwm10.dll.gz > mingwm10.dll
Ensuite, vous pouvez le lancer:
wine essai.exe
Le texte de la boîte de dialogue est en langue française avec un accent, pour le faire avec gvim, convertissez la source en page de code Windows 1252 :<ESC>:e ++enc=cp1252
Une autre solution, plus puissante, consiste à utiliser UTF-8 mais cela nécessite de changer la façon dont les chaînes sont gérées.