Como gerar um executável (.exe) a partir do Linux ?
Moderador: Moderadores
Como gerar um executável (.exe) a partir do Linux ?
Pessoal,
Alguém sabe como faço para gerar um arquivo executável do Windows a partir do Linux ?
Lá no site do harbour diz que o harbour faz cross-compiler, mas eu não estou conseguindo fazer. Consegui gerar um executável do windows usando o gcc somente.
Algo como
1. apt install mingw-w64
2. x86_64-w64-mingw32-gcc -o hello_world.exe hello_world.c
Mas no Harbour não consigo
Já alterei variáveis de ambiente, mas o valor para o compilador que coloco HB_COMPILER não é aceito. A única documentação que achei foi a do Harbour mas não ajuda muito e uma postagem do Itamar no fórum internacional, mas eles não souberam responder.
Alguém sabe como faço para gerar um arquivo executável do Windows a partir do Linux ?
Lá no site do harbour diz que o harbour faz cross-compiler, mas eu não estou conseguindo fazer. Consegui gerar um executável do windows usando o gcc somente.
Algo como
1. apt install mingw-w64
2. x86_64-w64-mingw32-gcc -o hello_world.exe hello_world.c
Mas no Harbour não consigo
Já alterei variáveis de ambiente, mas o valor para o compilador que coloco HB_COMPILER não é aceito. A única documentação que achei foi a do Harbour mas não ajuda muito e uma postagem do Itamar no fórum internacional, mas eles não souberam responder.
- Itamar M. Lins Jr.
- Administrador

- Mensagens: 7928
- Registrado em: 30 Mai 2007 11:31
- Localização: Ilheus Bahia
- Curtiu: 1 vez
Como gerar um executável (.exe) a partir do Linux ?
Olá!
Tem como, cheguei perto!!!
Precisa das libs do Harbour para windows compiladas ai no Linux.(suponho)
Tem umas postagens minha lá no harbour user google groups
Ficou nesse -mconsole, nem sei se foi corrigido. Pra mim é erro do hbkm2.
Saudações,
Itamar M. Lins Jr.
Tem como, cheguei perto!!!
Precisa das libs do Harbour para windows compiladas ai no Linux.(suponho)
Tem umas postagens minha lá no harbour user google groups
Ficou nesse -mconsole, nem sei se foi corrigido. Pra mim é erro do hbkm2.
Código: Selecionar todos
sudo make HB_PLATFORM=win HB_COMPILER=mingw64 HB_INSTALL_PREFIX=/home/itamar/dev/hb3 installItamar M. Lins Jr.
Saudações,
Itamar M. Lins Jr.
Itamar M. Lins Jr.
- Itamar M. Lins Jr.
- Administrador

- Mensagens: 7928
- Registrado em: 30 Mai 2007 11:31
- Localização: Ilheus Bahia
- Curtiu: 1 vez
Como gerar um executável (.exe) a partir do Linux ?
Olá!
Se descobrir o segredo me conta.
Saudações,
Itamar M. Lins Jr.
Tetando compilar hwgui no linux para win...hbmk2 hwgui.hbp -comp=mingw64 -plat=win
Código: Selecionar todos
tamar@itamar-desktop:~/dev/hwgui$ hbmk2 hwgui.hbp -comp=mingw64 -plat=win
Harbour 3.2.0dev (r2403071241)
Copyright (c) 1999-2021, https://harbour.github.io/
In file included from /usr/local/include/harbour/windows.h:9,
from ../../home/itamar/dev/hwgui/include/hwingui.h:19,
from source/winapi/barcode.prg:913:
/usr/local/include/harbour/_mingw.h:272:2: error: #error Only Win32 target is supported!
272 | #error Only Win32 target is supported!
| ^~~~~
In file included from /usr/local/include/harbour/vadefs.h:9,
from /usr/local/include/harbour/_mingw.h:283:
/usr/local/include/harbour/_mingw.h:609:10: fatal error: sdks/_mingw_ddk.h: Arquivo ou diretório inexistente
609 | #include "sdks/_mingw_ddk.h"
| ^~~~~~~~~~~~~~~~~~~
Saudações,
Itamar M. Lins Jr.
Saudações,
Itamar M. Lins Jr.
Itamar M. Lins Jr.
- Itamar M. Lins Jr.
- Administrador

- Mensagens: 7928
- Registrado em: 30 Mai 2007 11:31
- Localização: Ilheus Bahia
- Curtiu: 1 vez
Como gerar um executável (.exe) a partir do Linux ?
Olá!
Parei aqui:
Esse "mconsole', acho que tem a ver com gtwvt,gtwin...
Saudações,
Itamar M. Lins Jr.
Parei aqui:
Código: Selecionar todos
itamar@itamar-desktop:~/fontes/exemplos$ hbmk2 teste.prg -comp=mingw64 -plat=win
hbmk2: Processando script local: hbmk.hbm
Harbour 3.2.0dev (r2403071241)
Copyright (c) 1999-2021, https://harbour.github.io/
Compiling 'teste.prg'...
Lines 5, Functions/Procedures 1
Generating C source output to '/tmp/hbmk_xamjmo.dir/teste.c'... Done.
gcc: error: unrecognized command-line option ‘-mconsole’
hbmk2: Erro: Executando linkeditor. 1
gcc /tmp/hbmk_xamjmo.dir/teste.o /tmp/hbmk_xamjmo.dir/hbmk_7c35ng.o -mconsole -Wl,--start-group -lhbextern -lhbdebug -lhbvm -lhbrtl -lhblang -lhbcpage -lgtcgi -lgtpca -lgtstd -lgtwin -lgtwvt -lgtgui -lhbrdd -lhbuddall -lhbusrrdd -lrddntx -lrddcdx -lrddnsx -lrddfpt -lhbrdd -lhbhsx -lhbsix -lhbmacro -lhbcplr -lhbpp -lhbcommon -lhbmainstd -lwinmm -lkernel32 -luser32 -lgdi32 -ladvapi32 -lws2_32 -liphlpapi -lwinspool -lcomctl32 -lcomdlg32 -lshell32 -luuid -lole32 -loleaut32 -lmpr -lmapi32 -limm32 -lmsimg32 -lwininet -lhbpcre -Wl,--end-group -oteste.exe -L/usr/local/lib/harbour
Saudações,
Itamar M. Lins Jr.
Saudações,
Itamar M. Lins Jr.
Itamar M. Lins Jr.
- Itamar M. Lins Jr.
- Administrador

- Mensagens: 7928
- Registrado em: 30 Mai 2007 11:31
- Localização: Ilheus Bahia
- Curtiu: 1 vez
Como gerar um executável (.exe) a partir do Linux ?
Olá!
Se mudar para -gtwvt ele muda para mwindows
Saudações,
Itamar M. Lins Jr.
Se mudar para -gtwvt ele muda para mwindows
Código: Selecionar todos
itamar@itamar-desktop:~/fontes/exemplos$ hbmk2 teste.prg -comp=mingw64 -plat=win -gtwvt
hbmk2: Processando script local: hbmk.hbm
Harbour 3.2.0dev (r2403071241)
Copyright (c) 1999-2021, https://harbour.github.io/
Compiling 'teste.prg'...
Lines 5, Functions/Procedures 1
Generating C source output to '/tmp/hbmk_ch7x9c.dir/teste.c'... Done.
gcc: error: unrecognized command-line option ‘-mwindows’
hbmk2: Erro: Executando linkeditor. 1
gcc /tmp/hbmk_ch7x9c.dir/teste.o /tmp/hbmk_ch7x9c.dir/hbmk_prty8k.o -mwindows -Wl,--start-group -lhbextern -lhbdebug -lhbvm -lhbrtl -lhblang -lhbcpage -lgtcgi -lgtpca -lgtstd -lgtwin -lgtwvt -lgtgui -lhbrdd -lhbuddall -lhbusrrdd -lrddntx -lrddcdx -lrddnsx -lrddfpt -lhbrdd -lhbhsx -lhbsix -lhbmacro -lhbcplr -lhbpp -lhbcommon -lhbmainwin -lwinmm -lkernel32 -luser32 -lgdi32 -ladvapi32 -lws2_32 -liphlpapi -lwinspool -lcomctl32 -lcomdlg32 -lshell32 -luuid -lole32 -loleaut32 -lmpr -lmapi32 -limm32 -lmsimg32 -lwininet -lhbpcre -Wl,--end-group -oteste.exe -L/usr/local/lib/harbour
Itamar M. Lins Jr.
Saudações,
Itamar M. Lins Jr.
Itamar M. Lins Jr.
- Itamar M. Lins Jr.
- Administrador

- Mensagens: 7928
- Registrado em: 30 Mai 2007 11:31
- Localização: Ilheus Bahia
- Curtiu: 1 vez
Como gerar um executável (.exe) a partir do Linux ?
Olá!
Tô conseguindo progresso por esse local aqui:
https://github.com/harbour/core/issues/281
Saudações,
Itamar M. Lins Jr.
Tô conseguindo progresso por esse local aqui:
https://github.com/harbour/core/issues/281
Código: Selecionar todos
#!/bin/bash
export HB_PLATFORM="win"
export HB_CCPREFIX="/usr/local/mingw/bin/x86_64-w64-mingw32-"
export HB_INSTALL_PREFIX="/Developer/harbour/"
export HB_HOST_BIN="/Developer/harbour/bin"
export HB_COMPILER="mingw64"
export HB_BUILD_CONTRIBS=
export HB_WITH_PCRE=local
export HB_WITH_ZLIB=local
export HB_WITH_BZIP2=local
export HB_WITH_JPEG=local
export HB_WITH_PNG=local
export HB_WITH_TIFF=local
export HB_WITH_LIBHARU=local
export HB_WITH_SQLITE3=local
PATH=/usr/local/mingw/bin/:$PATH
Itamar M. Lins Jr.
Saudações,
Itamar M. Lins Jr.
Itamar M. Lins Jr.
Como gerar um executável (.exe) a partir do Linux ?
Obrigado pelo retorno Itamar
Ainda não tive tempo de ver o que vc passou. Tive um imprevisto essa semana. Mas caso tenha algum sucesso eu posto o resultado.
Ainda não tive tempo de ver o que vc passou. Tive um imprevisto essa semana. Mas caso tenha algum sucesso eu posto o resultado.
- Itamar M. Lins Jr.
- Administrador

- Mensagens: 7928
- Registrado em: 30 Mai 2007 11:31
- Localização: Ilheus Bahia
- Curtiu: 1 vez
Como gerar um executável (.exe) a partir do Linux ?
Olá!
A versão do Harbour gerando 32Bits para Windows está ok! Porquê consegue compilar os fontes do Harbour. A versão 64 no Linux, gerando os fontes do Harbour para DEPOIS gerar os nossos .EXE não compila. Postei no forum.
GCC 12. Tem 2 GCC Um Linux e outro para Windows "Dentro do Linux"
Saudações,
Itamar M. Lins Jr.
A versão do Harbour gerando 32Bits para Windows está ok! Porquê consegue compilar os fontes do Harbour. A versão 64 no Linux, gerando os fontes do Harbour para DEPOIS gerar os nossos .EXE não compila. Postei no forum.
GCC 12. Tem 2 GCC Um Linux e outro para Windows "Dentro do Linux"
Saudações,
Itamar M. Lins Jr.
Saudações,
Itamar M. Lins Jr.
Itamar M. Lins Jr.
