Pular para o conteúdo

Cross Compiling - compilando seus programas C/C++ para Windows usando seu Linux

Dica publicada em C/C++ / Miscelânea
Samuel Leonardo SamL
Hits: 5.089 Categoria: C/C++ Subcategoria: Miscelânea
  • Indicar
  • Impressora
  • Denunciar

Cross Compiling - compilando seus programas C/C++ para Windows usando seu Linux

Nesta dica você aprenderá a compilar programas para Windows a partir do seu Linux ((c)Ubuntu e derivados).

Siga os passos:

1. Instale o wine + mingw:

sudo apt install wine mingw-w64-x86-64-dev mingw-w64-i686-dev

Isso vai instalar o wine + ambiente MinGW para 32 e 64 bits no seu Linux.

2. Para compilar seus programas C++ para windows 64 bits:

x86_64-w64-mingw32-g++ -o programa.exe programa.cpp -static-libstdc++ -static-libgcc

C para Windows 64 bits:

x86_64-w64-mingw32-gcc -o programa.exe programa.c -static-libgcc

Para compilar para Windows 32 bits, troque a parte "x86_64" por "i686" (sem aspas, dâ).

Observe que eu usei os parâmetros "-static-libstdc++" e/ou " -static-libgcc" para poder incluir tudo no executável (todas as libs pra funcionar). Assim, não precisaremos incluir dll de runtime no projeto, porém, se você compilar com uma lib estática, ainda pode precisar da dll dela junto do executável na mesma pasta.

Fonte: vários sites da internet (não anotei tudo).

Programadores realizadores vs sonhadores - quando ação define os resultados que obtemos em software

E-book do Blender 3D Gratuito (ou pague o quanto quiser)

Tutorial básico de SEO com o Google (SEO starter guide)

Absorver textos de livros como uma esponja

Dica para encontrar diversos jogos Indies criativos

Limpando a tela sem NCURSES ou clrsrc() - DOS

Baixe de graça alguns livros do O'Reilly

Lançado o FltkEmu

Verificar conversão de tipo em C/C++

Lista de IDEs para Programação em Qualquer Distro

#1 Comentário enviado por maurixnovatrento em 13/01/2023 - 12:35h

Isso aí me deu umas ideias. Até onde esse recurso pode chegar? Se desse de usar isso com cmake aí seria show.

___________________________________________________________
Conhecimento não se Leva para o Túmulo.
https://github.com/mxnt10

Contribuir com comentário

Entre na sua conta para comentar.