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

Publicado por Samuel Leonardo em 04/01/2023

[ Hits: 2.536 ]

Blog: https://nerdki.blogspot.com/

 


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).

Outras dicas deste autor

Juntando vários arquivos de áudio com o ffmpeg

Firejail - cadeia neles! Sandbox para aplicações no seu GNU/Linux

Removendo barra de título ao maximizar programas no Ubuntu

Criando o hábito de ler sem gostar de ler

Cursos de Programação Online Grátis

Leitura recomendada

Como escrever código portável

Gnuconio, a conio para Windows e GNU/Linux (v0.1)

Limpando a tela sem NCURSES ou clrsrc() - DOS

Efetuando cálculo de Aspect Ratio de vídeos em C/C++

Usando "sscanf" para Dividir String com Delimitadores em C

  

Comentários
[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




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts