Página 1 de 4

Novo mingw 15.1

Enviado: 08 Mai 2025 15:27
por Kapiaba
Mister Quintas,

https://forums.fivetechsupport.com/view ... hp?t=45650

Mister Quintas, se não for pedir muito, poderia nos ensinar como se compila FIVEWIN com MINGW?
.bat / lnk, .bat / .mak, etc?

Onde descargar o MINGW? Url?

Gracias, tks.

Regards, saludos.

Novo mingw 15.1

Enviado: 08 Mai 2025 21:00
por JoséQuintas
Eu baixo em winlibs.com
winlibs.png
Uso 32 bits ainda.

criei o arquivo FIVEWIN.HBC e deixo na pasta fivewin
Note que nele mesmo pode indicar arquivos pra {bcc} ou {msvc} ou {bcc64} ou {mingw64} ou {msvc64}
Assim fica sempre pronto pra qualquer coisa.

Código: Selecionar todos

incpaths=include

libpaths=lib
{mingw}libs=fwchanged
{mingw}libs=fivehg
{mingw}libs=fivehgc

{mingw}libs=user32 winspool kernel32 comctl32 comdlg32 gdi32 gdiplus ole32
{mingw}libs=oleaut32 psapi oledlg mfcuia32 msimg32 win32k stdc++ version
{mingw}libs=uuid winmm vfw32 wsock32
{mingw}libs=uxtheme

libs=hbwin.hbc
libs=xhb.hbc
libs=hbct.hbc
libs=hbmzip.hbc
libs=hbziparc.hbc
De resto é deixar o harbour/bin e os compiladores c/bin no path.
Pode até deixar todos na máquina, escolher qual será o padrão, e pode indicar na linha de comando se quiser trocar

O default
SET_HB_COMPILER=mingw

Opcional
hbmk2 projeto.hbp -comp=mingw

Uma coisa que uso aqui é criar harbour/bin/hbmk.hbc
Nessa pasta, o hbc vale pra tudo.
Acrescento nele: libs=d:\github\fivewin

a partir daí, pra compilar os exemplos de fivewin:

hbmk2 exemplo.prg fivewin.hbc

Se reclamar de alguma lib adicional, eu acrescento, ou resource ou fonte c.

Traduzindo: é seu fonte e o fivewin.hbc

Como ele encontra esse hbc ?
Tem lá no harbour\bin o arquivo hbmk.hbc que contém o path do fivewin.
Na pasta vai encontrar o fivewin.hbc

E o resto?
A princípio fivewin.hbc conterá todo resto, sobre o que o fivewin precisa pra funcionar.

Precisa mais que isso ?
Se o seu projeto usa mais coisas do que o normal, pode acrescentar no projeto (hbp)

Se o seu normal já é com mais coisas, pode escolher:
ou acrescenta no fivewin.hbc
ou acrescenta no harbour\bin\hbmk.hbc
Isso é pra não precisar fazer a mesma coisa em tudo que é projeto.

Você decide o melhor lugar.

Por exemplo: eu compilo sempre compactado, e sempre com -w3 -es2.
Isso é geral, não é só com fivewin, então coloco no harbour/bin/hbmk.hbc

Tenho um arquivo que compilei fontes alterados do fivewin.
Quando vou precisar disso ? quando usar fivewin.
Então coloco nesse fivewin.hbc

Meu projeto usa imagens, um projeto é diferente do outro.
Nesse caso, coloco só no arquivo do projeto.

Imagine explicar pra alguém.

Como compila com harbour?
hbmk2 arquivo.prg

E se eu quiser acrescentar fivewin na compilação ?
Pra acrescentar fivewin na compilação.... é acrescentar fivewin na compilação

hbmk2 arquivo.prg fivewin.hbc

Não achou o fivewin.hbc ?
É porque precisa avisar aonde o hbc está.
ou coloca no projeto -Lc:\fivewin
ou deixa fixo lá no harbour\bin\hbmk.hbc libpaths=c:\fivewin

Se fivewin viesse com isso pronto, nenhum trabalho extra.
Como não vém, você cria como mostrei acima, indicando as pastas de lib, de include, nomes das libs do fivewin, e nomes das libs do harbour que o fivewin faz uso, e que não entram automaticamente
o objetivo do fivewin.hbc será resolver o que o fivewin precisa, pra fazer um simples hello.prg

Vamos supor a lib do ACBRNFE..
Você usa em tudo que é compilação? não, então não tem porque colocar no harbour/bin/hbmk.hbc
O fivewin depende dela? não, então não tem porque colocar no fivewin/fivewin.hbc
Sobrou... colocar no seu projeto, o seu aplicativo é que precisa dela.

Novo mingw 15.1

Enviado: 09 Mai 2025 09:54
por Kapiaba
Bom dia. Sua explicação está muito longa e complexa de difícil compreensão. Seja sucinto na resposta.

Consegue fazer algo assim? GO.BAT y TEST.MAK ??

https://forums.fivetechsupport.com/view ... hp?t=45645

Poste o LINK ou ZIP/RAR o MINGW 15.1 e hospede em:

https://mega.nz/

Se possível, faça um pequeno DEMO usando TUTOR04.PRG do \samples, assim, ficará mais fácil para nós meros mortais entendermos, ok? Se não conseguir não se preocupe, eu vou entender.

Obg. Abs.

Regards, saludos.

João Santos - São Paulo - Brasil.

Novo mingw 15.1

Enviado: 09 Mai 2025 13:04
por JoséQuintas
copia esse hbc pra sua pasta do fivwin

em harbour\bin\hbmk.hbc acrescente, coloquei errado antes, libpaths=pasta do fivewin

no projeto:
*.prg
hbwin.hbc

só isso

Como teste, nos samples do fivewin, hbmk2 sample.prg fivewin.hbc

Novo mingw 15.1

Enviado: 09 Mai 2025 16:37
por Kapiaba
Tarde, eu não uso isso .HBC, veja este exemplo completo aqui e veja se consegue compilar por favor, simples e prático, sem enrolação...

Download completo para ajuda e melhorias - TABELA CEST:

https://mega.nz/file/kdsGAbzS#5YeItOuiE ... 3uqr5MHH04

Veja que aqui o exemplo é prático e funcional usando: BCC76 y XHBBCC76 ou superior se assim se quiser.

Origem:

https://fivewin.com.br/index.php?/topic ... tualizada/

Tks.

Regards, saludos.

Novo mingw 15.1

Enviado: 09 Mai 2025 17:20
por Kapiaba
Tarde, pronto, já tenho a pasta do GCC1501:

Código: Selecionar todos

 Pasta de c:\GCC1501

09/05/2025  17:29    <DIR>          .
09/05/2025  17:29    <DIR>          ..
09/05/2025  17:26    <DIR>          bin
09/05/2025  17:27    <DIR>          i686-w64-mingw32
09/05/2025  17:27    <DIR>          include
09/05/2025  17:27    <DIR>          lib
09/05/2025  17:25    <DIR>          libexec
09/05/2025  17:26    <DIR>          share
27/04/2025  16:41               961 version_info.txt
Regards, saludos.

Novo mingw 15.1

Enviado: 09 Mai 2025 18:04
por JoséQuintas
Kapiaba escreveu:Tarde, eu não uso isso .HBC, veja este exemplo completo aqui e veja se consegue compilar por favor, simples e prático, sem enrolação..
Fonte tranqueira dá mais trabalho.

Tentativa 1:
d:\temp\kapiaba>hbmk2 *.prg fivewin.hbc


hbmk2: Processing environment options: -comp=mingw
hbmk2: Processing configuration: d:\harbour\bin\hbmk.hbc
Harbour 3.2.0dev (r2503251254)
Copyright (c) 1999-2024, https://harbour.github.io/
Compiling 'CEST.PRG'...
1000
CEST.PRG:42: warning W0029 Redundant 'ANNOUNCE FPTCDX' statement ignored
200
CEST.PRG:208: warning W0001 Ambiguous reference 'UPDATE'

CEST.PRG:285: warning W0027 Meaningless use of expression 'Logical'
300
CEST.PRG:383: warning W0004 Codeblock parameter 'SELF' declared but not used in function 'CEST'
400
CEST.PRG:403: warning W0003 Variable 'DEONDEPARTE' declared but not used in function '47:CEST'

CEST.PRG:403: warning W0003 Variable 'IDCOR' declared but not used in function '56:CEST'

CEST.PRG:403: warning W0003 Variable 'OSAY' declared but not used in function '56:CEST'

CEST.PRG:403: warning W0003 Variable 'NRECNO' declared but not used in function '56:CEST'

CEST.PRG:403: warning W0003 Variable 'OBRUSH' declared but not used in function '56:CEST'

CEST.PRG:403: warning W0003 Variable 'OICO' declared but not used in function '56:CEST'

CEST.PRG:403: warning W0032 Variable 'NOLDAREA' is assigned but not used in function '56:CEST'

CEST.PRG:403: warning W0032 Variable 'NKEY' is assigned but not used in function '56:CEST'

CEST.PRG:403: warning W0032 Variable 'LLIGAWHEN' is assigned but not used in function '56:CEST'

CEST.PRG:403: warning W0032 Variable 'OGROUP' is assigned but not used in function '208:CEST'

CEST.PRG:420: warning W0032 Variable 'NCOR' is assigned but not used in function '409:SET_COLOR'

CEST.PRG:452: warning W0032 Variable 'LC_ACTRLS' is assigned but not used in function '422:CTRLS_COLORS'

CEST.PRG:452: warning W0032 Variable 'LC_IFOR' is assigned but not used in function '422:CTRLS_COLORS'

CEST.PRG:452: warning W0032 Variable 'LC_AITEMSRADIO' is assigned but not used in function '423:CTRLS_COLORS'

CEST.PRG:478: warning W0003 Variable 'OTEXT' declared but not used in function '452:GERA_INDICE'

CEST.PRG:478: warning W0003 Variable 'ODLG' declared but not used in function '452:GERA_INDICE'

CEST.PRG:478: warning W0003 Variable 'LEND' declared but not used in function '452:GERA_INDICE'
500
CEST.PRG:500: warning W0003 Variable 'OMETER' declared but not used in function '478:CRIACEST'

CEST.PRG:500: warning W0003 Variable 'ODLG' declared but not used in function '478:CRIACEST'

CEST.PRG:500: warning W0003 Variable 'LEND' declared but not used in function '478:CRIACEST'

CEST.PRG:544: warning W0003 Variable 'OLBX' declared but not used in function '526:TROCA_INDICE'
700
CEST.PRG:785: warning W0003 Variable 'OSAY' declared but not used in function '656:BUSCACES'

CEST.PRG:785: warning W0003 Variable 'OBMPBRUSH' declared but not used in function '656:BUSCACES'

CEST.PRG:785: warning W0003 Variable 'OICO' declared but not used in function '656:BUSCACES'

CEST.PRG:785: warning W0003 Variable 'OBRUSH' declared but not used in function '657:BUSCACES'

CEST.PRG:785: warning W0032 Variable 'OBMP' is assigned but not used in function '712:BUSCACES'

CEST.PRG:785: warning W0032 Variable 'OBMP' is assigned but not used in function '717:BUSCACES'
800
CEST.PRG:861: warning W0032 Variable 'NREGISTRO' is assigned but not used in function '790:IMPRIMECES'
900
Fonte tranqueira, não pode compilar com -w3
Vamos usar o parâmetro fod.-se-se, o -w0
D:\temp\kapiaba>hbmk2 *.prg fivewin.hbc -w0


hbmk2: Processing environment options: -comp=mingw
hbmk2: Processing configuration: d:\harbour\bin\hbmk.hbc
Harbour 3.2.0dev (r2503251254)
Copyright (c) 1999-2024, https://harbour.github.io/
Compiling 'CEST.PRG'...
Lines 8136, Functions/Procedures 22
Generating C source output to 'C:\Users\joseq\AppData\Local\Temp\hbmk_vilt9s.dir\CEST.c'... Done.
Compiling 'TEST.PRG'...
Lines 7980, Functions/Procedures 7
Generating C source output to 'C:\Users\joseq\AppData\Local\Temp\hbmk_vilt9s.dir\TEST.c'... Done.
Compiling 'TEST2.PRG'...
Lines 7153, Functions/Procedures 1
Generating C source output to 'C:\Users\joseq\AppData\Local\Temp\hbmk_vilt9s.dir\TEST2.c'... Done.
d:/harbour/comp/mingw32/bin/../lib/gcc/i686-w64-mingw32/15.1.0/../../../../i686-w64-mingw32/bin/ld.exe: C:/Users/joseq/AppData/Local/Temp/hbmk_vilt9s.dir/TEST.o:TEST.c:(.text+0xe0): multiple definition of `HB_FUN_RDDSYS'; C:/Users/joseq/AppData/Local/Temp/hbmk_vilt9s.dir/CEST.o:CEST.c:(.text+0x2c0): first defined here
collect2.exe: error: ld returned 1 exit status
hbmk2: Error: Running linker. 1
gcc.exe C:/Users/joseq/AppData/Local/Temp/hbmk_vilt9s.dir/CEST.o C:/Users/joseq/AppData/Local/Temp/hbmk_vilt9s.dir/TEST.o C:/Users/joseq/AppData/Local/Temp/hbmk_vilt9s.dir/TEST2.o C:/Users/joseq/AppData/Local/Temp/hbmk_vilt9s.dir/hbmk_oyd3rn.o -mwindows -static -Wl,--start-group -lfwchanged -lfivehg -lfivehgc -luser32 -lwinspool -lkernel32 -lcomctl32 -lcomdlg32 -lgdi32 -lgdiplus -lole32 -loleaut32 -lpsapi -loledlg -lmfcuia32 -lmsimg32 -lwin32k -lstdc++ -lversion -luuid -lwinmm -lvfw32 -lwsock32 -luxtheme -lhbwin -lpng -lxhb -lhbct -lhbtip -lhbfship -lhbxpp -lhbmzip -lminizip -lhbziparc -lhbextern -lhbdebug -lhbvmmt -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 -lhbzlib -Wl,--end-group -s -oCEST.exe -Ld:/harbour/lib/win/mingw -Ld:/fontes/integra/libjpa -Ld:/fontes/integra/boletoclass -Ld:/fontes/integra/sefazclass -Ld:/github/rmchartclass -Ld:/github/wvgtest -Ld:/github/hwgui -Ld:/github/oohg -Ld:/github/hmge -Ld:/github/hmg3 -Ld:/github/fivewin -Ld:/github/fivewin/lib
Fonte tranqueira, ou será lib...... está forçando uma coisa e a lib forçando outra.

Vamos dizer pro linqueditor: tá errado, tá repetido, mas fod.-se.
D:\temp\kapiaba>SET HB_USER_LDFLAGS=-Wl,--allow-multiple-definition -s -static

D:\temp\kapiaba>hbmk2 *.prg fivewin.hbc -w0


hbmk2: Processing environment options: -comp=mingw
hbmk2: Processing configuration: d:\harbour\bin\hbmk.hbc
Harbour 3.2.0dev (r2503251254)
Copyright (c) 1999-2024, https://harbour.github.io/
Compiling 'CEST.PRG'...
Lines 8136, Functions/Procedures 22
Generating C source output to 'C:\Users\joseq\AppData\Local\Temp\hbmk_1cge4q.dir\CEST.c'... Done.
Compiling 'TEST.PRG'...
Lines 7980, Functions/Procedures 7
Generating C source output to 'C:\Users\joseq\AppData\Local\Temp\hbmk_1cge4q.dir\TEST.c'... Done.
Compiling 'TEST2.PRG'...
Lines 7153, Functions/Procedures 1
pronto compilou.

Resources.... aí tem mais complicação...
d:\temp\kapiaba>hbmk2 *.prg *.rc *.res fivewin.hbc -w0


hbmk2: Processing environment options: -comp=mingw
hbmk2: Processing configuration: d:\harbour\bin\hbmk.hbc
Harbour 3.2.0dev (r2503251254)
Copyright (c) 1999-2024, https://harbour.github.io/
Compiling 'CEST.PRG'...
Lines 8136, Functions/Procedures 22
Generating C source output to 'C:\Users\joseq\AppData\Local\Temp\hbmk_pabcos.dir\CEST.c'... Done.
Compiling 'TEST.PRG'...
Lines 7980, Functions/Procedures 7
Generating C source output to 'C:\Users\joseq\AppData\Local\Temp\hbmk_pabcos.dir\TEST.c'... Done.
Compiling 'TEST2.PRG'...
Lines 7153, Functions/Procedures 1
Generating C source output to 'C:\Users\joseq\AppData\Local\Temp\hbmk_pabcos.dir\TEST2.c'... Done.
windres.exe: CEST.RC:6: syntax error
CEST.RC:172: fatal error: when writing output to : Broken pipe
compilation terminated.
windres.exe: preprocessing failed.
hbmk2: Error: Running resource compiler. 1
windres.exe -Id:/harbour/include -Id:/fontes/util/build -Id:/github/fivewin/include -Id:/harbour/contrib/hbwin -Id:/harbour/contrib/xhb -Id:/harbour/contrib/hbct -Id:/harbour/contrib/hbtip -Id:/harbour/contrib/hbfship -Id:/harbour/contrib/hbxpp -Id:/harbour/contrib/hbmzip CEST.RC -O coff -o C:/Users/joseq/AppData/Local/Temp/hbmk_pabcos.dir/CEST.reso
Está fora do padrão.
Talvez funcione com #include padrão.

Novo mingw 15.1

Enviado: 09 Mai 2025 18:42
por JoséQuintas
Executar, até executa.
Mas como o aplicativo depende de resource pras dialogs...
Não abre nenhuma dialog, só o menu.

É resource talvez não muito comum.
Ao invés de indicar as coisas do modo normal, indica usando hexadecimal.
Até mesmo o XML de manifest está em hexadecimal.

Coisas não comuns, fica complicado.
windres.exe: CEST.RC:40: syntax error
CEST.RC:175: fatal error: when writing output to : Broken pipe
compilation terminated.
Segundo a IA, isso pode acontecer por não colocar string entre aspas, por ter problemas no abre/fecha das coisas, ou outros.

Novo mingw 15.1

Enviado: 09 Mai 2025 18:49
por JoséQuintas
Só comentário extra, no resource tem isto:
VALUE "ProductVersion", "Criado por GASFW.EXE"
VALUE "FileVersion", " Criado em 09/05/2025 as 11:48:13"
VALUE "FileDescription", "Criado por GASFW.EXE"
E isto
FILEOS VOS__WINDOWS16
Será coisa do Windows 3.1 16 bits ?

Novo mingw 15.1

Enviado: 09 Mai 2025 18:52
por JoséQuintas
Parece que você está definindo o tipo de sistema operacional e ambiente para o seu arquivo de recurso no MinGW. A diretiva FILEOS VOS__WINDOWS16 indica que o recurso é destinado a um sistema operacional Windows de 16 bits, o que pode não ser ideal se você estiver compilando para sistemas modernos de 32 ou 64 bits.
Se o seu programa for para Windows de 32 bits ou posterior, considere usar:

FILEOS VOS__WINDOWS32

Isso garantirá que o compilador reconheça corretamente o ambiente alvo.
Caso esteja enfrentando algum erro ao compilar com essa definição, pode ser útil verificar a documentação oficial do windres ou testar sem essa diretiva para ver se o problema persiste.

Novo mingw 15.1

Enviado: 09 Mai 2025 18:58
por JoséQuintas
Quer que eu faça sem fivewin.hbc, só porque você quer ? e sem rodeios?

Pra que ?

Nem sequer tentou compilar.

Provavelmente nem vai corrigir o resource.

Vai continuar com blinker, que é antigo, e aceita coisas do Windows 3.1

Depois dizem que o mingw é ruim....
Compilar pra Windows 3.1 é coisa de 50 anos atrás... kkkkkk

Insistiu sem rodeios, recebeu sem rodeios.
E eu nem sabia disso, a IA que me falou.

Novo mingw 15.1

Enviado: 10 Mai 2025 10:31
por Kapiaba
Eu só queria ter certeza! Obrigado, esqueça.

Obg. abs.

Novo mingw 15.1

Enviado: 13 Mai 2025 12:22
por Kapiaba
Esta versão do COMPILADOR GCC 15.1 é extremamente rápido. Adorei, só naõ sei ainda como criar um COMP.BAT e UM COMP.LNK ou um GO.BAT e um TUTOR04.MAK como no BCC. Compilei o TUTOR04.PRG e funciona perfeito.

Apertando o pessoal do FIVEWIN MUNDIAL aqui:

https://forums.fivetechsupport.com/view ... hp?t=45664

Gracias, tks.

Regards, saludos.

Novo mingw 15.1

Enviado: 13 Mai 2025 13:05
por JoséQuintas
Segundo o Linares, só tem 2 usuários mingw no fivewin.
Ele me disse isso no whatsapp, quando me enviou as libs do fivewin modificadas pra multithread pra testar.
Agora tá no oficial.

QUALQUER MINGW serve pro fivewin.
De 4.6 até 15.1.
Achei isso muito bom.

Antes eu não testava porque não sabia qual era o mingw.
Quando meti as caras, descobri que serve qualquer um kkkkk

mingw DWARF, o padrão dos downloads em winlibs.com
Se usar errado, dá falta de arquivos malucos.

Novo mingw 15.1

Enviado: 13 Mai 2025 13:09
por JoséQuintas
Faz o seguinte:

hbmk2 projeto.hbp -trace

Acho que é esse
Vai mostrar quais os comandos usados no hbmk2.
Só usar igual.