Esiste un modo per creare (C ++ o C #) applicazioni console Windows all'interno dell'IDE di Ubuntu (es. Anjuta) e compilarlo per Windows?
Esiste un modo per creare (C ++ o C #) applicazioni console Windows all'interno dell'IDE di Ubuntu (es. Anjuta) e compilarlo per Windows?
Risposte:
Si desidera eseguire la compilazione incrociata, che è un modo per compilare codice per piattaforme diverse da quella utilizzata, soprattutto quando il processore è completamente diverso. Fondamentalmente devi installare tutte le intestazioni per il tuo target (ad es. Windows) e poi dire al compilatore che è compilato in modo incrociato in modo che non effettuerà alcuni dei controlli di sistema e invece farà riferimento a directory non standard.
A seconda della lingua potresti trovare utile fare una ricerca o una domanda specifica, oppure se stai facendo una c di base puoi usare gli strumenti MinGW e lo stesso tipo di strumenti di compilazione basati su Linux che usano gcc:
sudo apt-get install gcc-mingw32
C'è una buona guida per la compilazione incrociata qt / win32 usando gli strumenti MinGW .
Dovresti dare un'occhiata a MingW . Fornisce un compilatore compatibile con gcc per Windows.
Esiste una versione multipiattaforma che è possibile utilizzare da Linux per generare file binari di Windows. Puoi installarlo con synaptic o eseguendo:
sudo apt-get install gcc-mingw32
Basandoti su questo, e usando il solito comando 'make', puoi creare programmi per Windows.
Quindi qualsiasi IDE che ti consente di usare make e gcc può usare questo compilatore. Ad esempio, ecco come farlo dall'IDE Code :: Blocks .
Le altre risposte sono corrette per il codice C / C ++; avrai bisogno di un cross-compilatore.
Per il codice C #, puoi semplicemente usare Monodevelop , poiché il compilatore Mono produce lo stesso tipo di bytecode e formato eseguibile del compilatore .NET (e viceversa). Le app create con Mono verranno eseguite senza modifiche sui computer Windows purché rimangano all'interno delle librerie di classi .NET Base standard o raggruppino qualsiasi libreria aggiuntiva utilizzata con l'app.
Potrebbe voler provare Qt con Qt Creator. Ottimo framework per GUI e applicazione Console che puoi compilare per Windows, Linux e OS X.
Il modo più comune per programmare l'applicazione Windows Linux (Ubuntu) è usare gli strumenti mingw:
Ci sono pacchetti Ubuntu per mingw pronti per l'installazione.
Da questa pagina :
sudo apt-get install wine mingw32 mingw32-binutils mingw32-runtime
Questo è tutto ciò che è necessario per la compilazione incrociata di base. Proviamo:
#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;
}
Compilare usando:
i586-mingw32msvc-g++ -o essai.exe essai.cpp
Per eseguire, è necessaria la libreria mingw: mingwm10.dll:
gunzip -c /usr/share/doc/mingw32-runtime/mingwm10.dll.gz > mingwm10.dll
Quindi puoi avviarlo:
wine essai.exe
Il testo della finestra di dialogo è in lingua francese con un accento, per farlo con gvim, converti il codice sorgente in windows code 1252 :<ESC>:e ++enc=cp1252
Un'altra soluzione, più potente, è usare UTF-8 ma ciò richiede di cambiare il modo in cui vengono gestite le stringhe.