Escrevi alguns efeitos em C ++ (g ++) usando freeglut no Linux e os compilo com
g++ -Wall -lglut part8.cpp -o part8
Então, eu queria saber se é possível fazer com que o g ++ crie executáveis compilados estáticos do Windows que contenham tudo o que é necessário.
Não tenho Windows, então seria muito legal se eu pudesse fazer isso no Linux :)
Respostas:
mingw32 existe como um pacote para Linux. Você pode compilar e vincular aplicativos do Windows a ele. Há um tutorial aqui no fórum Code :: Blocks . Lembre-se de que o comando muda para
x86_64-w64-mingw32-gcc-win32
, por exemplo.Ubuntu, por exemplo, tem MinGW em seus repositórios:
fonte
Uma opção de compilar para Windows no Linux é via mingw. Eu encontrei um tutorial muito útil aqui .
Para instalar o mingw32 em sistemas baseados em Debian, execute o seguinte comando:
sudo apt-get install mingw32
Para compilar seu código, você pode usar algo como:
i586-mingw32msvc-g++ -o myApp.exe myApp.cpp
Às vezes, você desejará testar o novo aplicativo do Windows diretamente no Linux. Você pode usar vinho para isso, embora deva sempre ter em mente que o vinho pode ter insetos. Isso significa que você pode não ter certeza se um bug está no wine, no seu programa ou em ambos, então use o wine apenas para testes gerais.
Para instalar o Wine, execute:
sudo apt-get install wine
fonte
mingw32-binutils
emingw32-runtime
porque são dependências demingw32
void main(){}
etc ...), acho que compila no windows mas falha no mingw, corrigi-los. Tentei tambémi586-mingw32msvc-cpp
e gerou um arquivo texto com algo parecido com coisas para serem compiladas rs .. o do g ++ funcionou, thx!mingw32
(marcados como "dependências". Se você especificá-los, eles não irão (marcados como "manuais").O método sugerido me deu um erro no Ubuntu 16.04: E: Não é possível localizar o pacote mingw32
========================================================== ===========================
Para instalar este pacote no Ubuntu, use o seguinte:
Após a instalação, você pode usá-lo:
Observe!
Para uso de 64 bits: x86_64-w64-mingw32-g ++
Para uso de 32 bits: i686-w64-mingw32-g ++
fonte
Instale um compilador cruzado, como o mingw64 do seu gerenciador de pacotes. Em seguida, compile da seguinte maneira: em vez de simplesmente chamar
gcc
calli686-w64-mingw32-gcc
para Windows de 32 bits oux86_64-w64-mingw32-gcc"
para Windows de 64 bits. Eu também usaria a--static
opção, pois o sistema de destino pode não ter todas as bibliotecas.Se você deseja compilar outra linguagem, como Fortran, substitua
-gcc
por-gfortran
nos comandos anteriores.fonte
Usei o mingw no Linux para fazer executáveis do Windows em C, e suspeito que C ++ também funcionaria.
Tenho um projeto, ELLCC, que empacota clang e outras coisas como uma cadeia de ferramentas de compilador cruzado. Eu o uso para compilar o clang (C ++), binutils e GDB para Windows. Siga o link de download em ellcc.org para binários pré-compilados para vários hosts Linux.
fonte
De: https://fedoraproject.org/wiki/MinGW/Tutorial
"Dicas e truques para usar o compilador cruzado do Windows": https://fedoraproject.org/wiki/MinGW/Tips
fonte
para o Fedora é
fonte
sudo dnf groupinstall ...
também.