Existe alguma maneira de criar aplicativos de console do Windows (C ++ ou C #) dentro do IDE do Ubuntu (por exemplo, Anjuta) e compilá-lo para Windows?
Existe alguma maneira de criar aplicativos de console do Windows (C ++ ou C #) dentro do IDE do Ubuntu (por exemplo, Anjuta) e compilá-lo para Windows?
Respostas:
Você deseja fazer a compilação cruzada, que é uma maneira de compilar código para plataformas diferentes da sua, especialmente quando o processador é completamente diferente. Basicamente, você precisa instalar todos os cabeçalhos do seu destino (por exemplo, janelas) e depois informar ao compilador que está compilando de forma cruzada, para que não faça algumas verificações do sistema e, em vez disso, aponte para diretórios não-padrão.
Dependendo do idioma, você pode achar útil fazer uma pesquisa ou pergunta especificamente ou, se estiver fazendo c básico, poderá usar as ferramentas MinGW e o mesmo tipo de ferramentas de compilação baseadas em Linux que usam o gcc:
sudo apt-get install gcc-mingw32
Há um bom guia para a compilação cruzada de qt / win32 usando as ferramentas MinGW .
Você deve dar uma olhada no MingW . Ele fornece um compilador compatível com gcc para Windows.
Existe uma versão de plataforma cruzada que você pode usar no Linux para gerar binários do Windows. Você pode instalá-lo com synaptic ou executando:
sudo apt-get install gcc-mingw32
Com base nisso, e com o uso do comando 'make' usual, você pode criar programas para o Windows.
Qualquer IDE que permita usar o make e o gcc pode usar esse compilador. Por exemplo, veja como fazer isso no IDE Code :: Blocks .
As outras respostas estão corretas para o código C / C ++; você precisará obter um compilador cruzado.
Para código C #, você pode simplesmente usar o Monodevelop , pois o compilador do Mono produz o mesmo tipo de bytecode e formato executável que o compilador .NET (e vice-versa). Os aplicativos criados com o Mono serão executados sem modificação nas máquinas Windows, desde que você permaneça nas bibliotecas de classes .NET Base padrão ou agrupe qualquer biblioteca extra usada com seu aplicativo.
Pode querer experimentar o Qt com o Qt Creator. Excelente estrutura para aplicação GUI e Console, você pode compilar para Windows, Linux e OS X.
A maneira mais comum de programar o Windows Application Linux (ubuntu) é usando as ferramentas mingw:
Existem pacotes do ubuntu para o mingw prontos para instalar.
A partir desta página :
sudo apt-get install wine mingw32 mingw32-binutils mingw32-runtime
Isso é tudo o que é necessário para a compilação cruzada básica. Vamos tentar:
#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;
}
Compile isso usando:
i586-mingw32msvc-g++ -o essai.exe essai.cpp
Para executar, você precisa da biblioteca mingw: mingwm10.dll:
gunzip -c /usr/share/doc/mingw32-runtime/mingwm10.dll.gz > mingwm10.dll
Então você pode iniciá-lo:
wine essai.exe
O texto da caixa de diálogo está no idioma francês com acento, para fazê-lo com o gvim, converta a fonte na página de códigos 1252 do Windows :<ESC>:e ++enc=cp1252
Outra solução, mais poderosa, é usar o UTF-8, mas isso requer alteração na maneira como as strings são manipuladas.