Página 2 de 4

Novo mingw 15.1

Enviado: 13 Mai 2025 13:12
por JoséQuintas
d:\github\fivewin\samples>hbmk2 achoice -trace fivewin.hbc


hbmk2: Processing environment options: -comp=mingw
hbmk2: Processing configuration: d:\harbour\bin\hbmk.hbc
hbmk2: Harbour compiler command (built-in):


(d:\harbour\bin\harbour.exe) -n2 achoice.prg -m -n -w3 -es2 -ge1 -DHB_GUI_MT_EXPERIMENTAL -DHBMK_HAS_HBMK=1 -DHBMK_HAS_HBWIN=1 -DHBMK_HAS_HBCT=1 -DHBMK_HAS_HBTIP=1 -DHBMK_HAS_HBFSHIP=1 -DHBMK_HAS_HBXPP=1 -DHBMK_HAS_XHB=1 -DHBMK_HAS_MINIZIP=1 -DHBMK_HAS_HBMZIP=1 -DHBMK_HAS_HBZIPARC=1 -DHBMK_HAS_FIVEWIN=1 -oC:\Users\joseq\AppData\Local\Temp\hbmk_istk3s.dir\ -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 -u+d:\harbour\contrib\hbwin\hbwin.ch -u+d:\harbour\contrib\hbmzip\hbmzip.ch
Harbour 3.2.0dev (r2503251254)
Copyright (c) 1999-2024, https://harbour.github.io/
Compiling 'achoice.prg'...
Lines 5061, Functions/Procedures 3
Generating C source output to 'C:\Users\joseq\AppData\Local\Temp\hbmk_istk3s.dir\achoice.c'... Done.
hbmk2: C/C++ compiler command:



gcc.exe -c -O3 -march=i586 -mtune=pentiumpro -fomit-frame-pointer -W -Wall -pipe -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 C:/Users/joseq/AppData/Local/Temp/hbmk_istk3s.dir/achoice.c C:/Users/joseq/AppData/Local/Temp/hbmk_z1tqsg.c
hbmk2: Linker command:


gcc.exe C:/Users/joseq/AppData/Local/Temp/hbmk_istk3s.dir/achoice.o C:/Users/joseq/AppData/Local/Temp/hbmk_istk3s.dir/hbmk_z1tqsg.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 -oachoice.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
Vai ter que incluir o máximo que puder no hbp, como resource e outras coisas mais.

Novo mingw 15.1

Enviado: 13 Mai 2025 13:16
por JoséQuintas
compare com bcc
d:\github\fivewin\samples>hbmk2 achoice -traceonly fivewin.hbc -comp=bcc


hbmk2: Processing environment options: -comp=mingw
hbmk2: Processing configuration: d:\harbour\bin\hbmk.hbc
hbmk2: Harbour compiler command (built-in):


(d:\harbour\bin\harbour.exe) -n2 achoice.prg -m -n -w3 -es2 -ge1 -DHB_GUI_MT_EXPERIMENTAL -DHBMK_HAS_HBMK=1 -DHBMK_HAS_HBWIN=1 -DHBMK_HAS_HBCT=1 -DHBMK_HAS_HBTIP=1 -DHBMK_HAS_HBFSHIP=1 -DHBMK_HAS_HBXPP=1 -DHBMK_HAS_XHB=1 -DHBMK_HAS_MINIZIP=1 -DHBMK_HAS_HBMZIP=1 -DHBMK_HAS_HBZIPARC=1 -DHBMK_HAS_FIVEWIN=1 -oC:\Users\joseq\AppData\Local\Temp\hbmk_s4vtxc.dir\ -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 -u+d:\harbour\contrib\hbwin\hbwin.ch -u+d:\harbour\contrib\hbmzip\hbmzip.ch -undef:.ARCH. -D__PLATFORM__WINDOWS -D__LITTLE_ENDIAN__ -D__ARCH32BIT__
hbmk2: C/C++ compiler command:


bcc32.exe -c -q -CP437 -d -O2 -OS -Ov -Oc -Oi -6 -tW -tWM -w -Q -w-sig -nC:\Users\joseq\AppData\Local\Temp\hbmk_s4vtxc.dir -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 C:\Users\joseq\AppData\Local\Temp\hbmk_s4vtxc.dir\achoice.c
hbmk2: Linker command:


ilink32.exe @C:\Users\joseq\AppData\Local\Temp\11bz3q.lnk
hbmk2: Linker script:
-Gn -Tpe -Ld:\harbour\lib;d:\fontes\integra\libjpa;d:\fontes\integra\boletoclass;d:\fontes\integra\sefazclass;d:\github\rmchartclass;d:\github\wvgtest;d:\github\hwgui;d:\github\oohg;d:\github\hmge;d:\github\hmg3;d:\github\fivewin;d:\github\fivewin\lib -aa c0w32.obj C:\Users\joseq\AppData\Local\Temp\hbmk_s4vtxc.dir\achoice.obj, achoice.exe, nul, hbwin.lib png.lib xhb.lib hbct.lib hbtip.lib hbfship.lib hbxpp.lib hbmzip.lib minizip.lib hbziparc.lib hbextern.lib hbdebug.lib hbvmmt.lib hbrtl.lib hblang.lib hbcpage.lib gtcgi.lib gtpca.lib gtstd.lib gtwin.lib gtwvt.lib gtgui.lib hbrdd.lib hbuddall.lib hbusrrdd.lib rddntx.lib rddcdx.lib rddnsx.lib rddfpt.lib hbrdd.lib hbhsx.lib hbsix.lib hbmacro.lib hbcplr.lib hbpp.lib hbcommon.lib winmm.lib kernel32.lib user32.lib gdi32.lib advapi32.lib ws2_32.lib iphlpapi.lib winspool.lib comctl32.lib comdlg32.lib shell32.lib uuid.lib ole32.lib oleaut32.lib mpr.lib mapi32.lib imm32.lib msimg32.lib wininet.lib cw32mt.lib import32.lib, ,

Novo mingw 15.1

Enviado: 13 Mai 2025 13:20
por JoséQuintas
Tradução de sempre ?

harbour transforma PRG em C

Compilador C transforma em OBJ

Linqueditor junta OBJ e LIB

Se existir resource ou algo mais, a etapa de criar OBJ disso entra no meio. (não é OBJ, acho que é RES)

Novo mingw 15.1

Enviado: 13 Mai 2025 13:25
por JoséQuintas
Talvez interessante reparar no seguinte: HBMK2 não inventa nada

Pra BCC ou MINGW, o path de libs é -L, o nome de libs é -l, etc.
A mesma coisa pra fazer manual é usada pra fazer pelo hbmk2.
A pasta temporária o hbmk2 se vira pra escolher.
Então... tanto faz... vai evitar hbmk2 e usar a mesma coisa kkkkk

Novo mingw 15.1

Enviado: 13 Mai 2025 14:19
por Kapiaba
Quintas, veja onde estou errando, pls:

PROJ.BAT

Código: Selecionar todos

@CLS

Set bcdir=C:\GCC1501

@If Exist *.Obj      Del *.Obj
@If Exist *.Map      Del *.Map
@If Exist *.TDS      Del *.TDS
@If Exist *.Bc       Del *.bc
@If Exist *.C        Del *.C
@If Exist *.HC       Del *.HC

If Exist TUTOR04.Exe Del TUTOR04.Exe

@REM %bcdir%\bin\BRC32.Exe -R XPLOOK.RC

@SET PATH=%PATH%;C:\GCC1501\BIN
@SET INCLUDE=%INCLUDE%;C:\HBGCC1501\Include;C:\FWH1905\Include
@SET HB_INSTALL_PREFIX=C:\HBGCC1501\
@SET HB_USER_CFLAGS=-c -tWM -d -6 -O2 -OS -Ov -Oi -Oc -D__NODEBUG__  

@SET HB_COMPILER=bcc
@SET HB_USER_LIBPATHS=C:\HBGCC1501\lib\;C:\FWH1905\lib\

@C:\HBGCC1501\bin\HBMK2 PROJ.HBP -rebuild -comp=bcc

@REM PAUSE

Echo * Aplicacao Foi Desenvolvida Com Sucesso
Echo .

@C:\PECOMPACT\PEC2 /NB /EMP:Y /TM:Y /CR:Y /MC TUTOR04.Exe

@TUTOR04
Regards, saludos.

Novo mingw 15.1

Enviado: 13 Mai 2025 14:22
por Kapiaba
PROJ.hbp - corrija, pls: não entendo deste modelo de compilação.

Código: Selecionar todos

# $Id: PROJ.hbp $

#flags
-trace
#-inc
#-m
#-n
#-w0
#-gc0
#-q
#-gui

# NOME DO EXECUTAVEL
-o.\TUTOR04

# DIRETORIO DOS .OBJ
-workdir=.\OBJs

# RODA O PROGRAMA GERADO.
# -run

########## INICIO - MENU PRINCIPAL. #PRG # ------ MODULO PRINCIPAL -------

.\TUTOR04.PRG

########## MODULOS AUXILIARES.


########## RESOURCES
#RC

# .\AMBIENTY.RC

########## PREFIRO USAR .RES

#AMBIENTY.RES

# HARBOUR - LOCALIZAR EQUIVALENTE DO XHARBOUR
#-lhbhpdf
#-llibhpdf

#LIBRERIAS HARBOUR (se anaden las cabeceras .hbc)
#hbwin.hbc
#hbct.hbc
#hbziparc.hbc
#hbmzip.hbc
#hbcomm.hbc
#hbhpdf.hbc
#xhb.hbc
#hbwin.hbc
#hbtip.hbc
#rddads.hbc
#hbmxml.hbc

#LIBRERIAS XHARBOUR (se anaden las cabeceras .hbc)

# RTL.LIB

########## LIBS do FiveWin - LIBRERIAS FWH
-Lc:\FWH1905\lib
-lFiveH
-lFiveHC

#LIBRERIAS DE TERCEROS - EJEMPLO:
#-Lc:\GestObras\lib
#-ljvchwin
Regards, saludos.

Novo mingw 15.1

Enviado: 13 Mai 2025 16:29
por Kapiaba
Mister Quintas, como eu informo isso ao PROJ.HBP?

Código: Selecionar todos

-Wall -s -mwindows -L%mingw%\lib -L%hlibs% -L%fwh%\lib -Wl,--enable-stdcall-fixup -Wl,--start-group -lfivehg -lfivehgc -lgtgui -luser32 -lshell32 -lwinspool -lkernel32 -lcomctl32 -lcomdlg32 -lgdi32 -lgdiplus -lole32 -loleaut32 -lpsapi -loledlg -lmfcuia32 -lmsimg32 -lwin32k -lstdc++ -lversion -luuid -lwinmm -lvfw32 -lwsock32 -lshell32 -lmpr -lhbcommon -lhbcpage -lhbcplr -lhbct -lhbdebug -lhbhsx -lhblang -lhbmacro -lhbmainstd -lhbmzip -lodbc32 -lhbpcre -lhbpp -lhbrdd -lhbrtl -lhbsix -lhbsqlit3 -lhbtip -lhbusrrdd -lhbvm -lhbwin -lhbzlib -lrddcdx -lrddfpt -lrddntx -lxhb -lhbziparc -lminizip -lhbmzip -
lhbziparc -lpng -Wl,--end-group
Gracias, tks.

Regards, saludsos.

Novo mingw 15.1

Enviado: 13 Mai 2025 18:37
por JoséQuintas
Do jeito que falei.
Praticamente é só copiar essas linhas pra lá do jeito que estão
-Lpathdelib
-lnomedelib

Remova o que for diferente de -L e -l

Provavelmente o hbmk2 vai dar o alerta que vai desprezar as que já entram automático.

IMPORTANTE: o hbp aceita de qualquer jeito, não precisa ser uma coisa em cada linha
Mais fácil o copiar/colar disso

Novo mingw 15.1

Enviado: 14 Mai 2025 09:53
por Kapiaba
Bom dia,

Me dê um HELP aqui por favor.

https://forums.fivetechsupport.com/view ... 78#p279478

Gracias, tks.

Regards, saludos.

Novo mingw 15.1

Enviado: 14 Mai 2025 11:25
por Kapiaba
Mister Quintas, consegue testar ai e dizer onde foi que eu errei? Eu não entendo esse modelo de script nem a pau Juvenal.

PROJ.BAT

Código: Selecionar todos

@ECHO OFF
@CLS

Set bcdir=C:\GCC1501

@If Exist *.Obj      Del *.Obj
@If Exist *.Map      Del *.Map
@If Exist *.TDS      Del *.TDS
@If Exist *.Bc       Del *.bc
@If Exist *.C        Del *.C
@If Exist *.HC       Del *.HC

If Exist TUTOR04.Exe Del TUTOR04.Exe

@REM %bcdir%\bin\BRC32.Exe -R XPLOOK.RC

@SET PATH=%PATH%;C:\GCC1501\BIN\WIN\MINGW
@SET INCLUDE=%INCLUDE%;C:\HBGCC151\Include;C:\FWH1905\Include
@SET HB_INSTALL_PREFIX=C:\HBGCC151\
@SET HB_USER_CFLAGS=-c -tWM -d -6 -O2 -OS -Ov -Oi -Oc -D__NODEBUG__  

@SET HB_COMPILER=Mingw
@SET HB_USER_LIBPATHS=C:\HBGCC151\lib\;C:\FWH1905\lib\

@C:\HBGCC151\BIN\WIN\MINGW\HBMK2 PROJ.HBP -rebuild -comp=mingw

@REM PAUSE

If Exist TUTOR04.Exe Echo * Aplicacao Foi Desenvolvida Com Sucesso
Echo .

rem @C:\PECOMPACT\PEC2 /NB /EMP:Y /TM:Y /CR:Y /MC TUTOR04.Exe

@TUTOR04
Gracias, tks.

Regards, saludos.

Novo mingw 15.1

Enviado: 14 Mai 2025 11:27
por Kapiaba
PROJ.hbp

Código: Selecionar todos

# $Id: PROJ.hbp $

#flags
-trace
-inc
-m
-n
-w0
-gc0
-q
-gui

# NOME DO EXECUTAVEL
-o.\TUTOR04

# DIRETORIO DOS .OBJ
-workdir=.\OBJs

# RODA O PROGRAMA GERADO.
# -run

########## INICIO - MENU PRINCIPAL. #PRG # ------ MODULO PRINCIPAL -------

.\TUTOR04.PRG

########## MODULOS AUXILIARES.

########## RESOURCES
#RC

# .\AMBIENTY.RC

########## PREFIRO USAR .RES

#AMBIENTY.RES

# HARBOUR - LOCALIZAR EQUIVALENTE DO XHARBOUR
-lhbhpdf
-llibhpdf

#LIBRERIAS HARBOUR (se anaden las cabeceras .hbc)
hbwin.hbc
hbct.hbc
hbziparc.hbc
hbmzip.hbc
hbcomm.hbc
hbhpdf.hbc
xhb.hbc
hbwin.hbc
hbtip.hbc
rddads.hbc
hbmxml.hbc

#LIBRERIAS GCC

-Wall
-s
-mwindows
-L%mingw%\lib
-L%hlibs%
-L%fwh%\lib
-Wl,--enable-stdcall
-fixup
-Wl,--start-group
-lfivehg
-lfivehgc
-lgtgui
-luser32
-lshell32
-lwinspool
-lkernel32
-lcomctl32
-lcomdlg32
-lgdi32
-lgdiplus
-lole32
-loleaut32
-lpsapi
-loledlg
-lmfcuia32
-lmsimg32
-lwin32k
-lstdc++
-lversion
-luuid
-lwinmm
-lvfw32
-lwsock32
-lshell32
-lmpr
-lhbcommon
-lhbcpage
-lhbcplr
-lhbct
-lhbdebug
-lhbhsx
-lhblang
-lhbmacro
-lhbmainstd
-lhbmzip
-lodbc32
-lhbpcre
-lhbpp
-lhbrdd
-lhbrtl
-lhbsix
-lhbsqlit3
-lhbtip
-lhbusrrdd
-lhbvm
-lhbwin
-lhbzlib
-lrddcdx
-lrddfpt
-lrddntx
-lxhb
-lhbziparc
-lminizip
-lhbmzip
-lhbziparc
-lpng
-Wl,--end-group

#LIBRERIAS XHARBOUR (se anaden las cabeceras .hbc)

# RTL.LIB

########## LIBS do FiveWin - LIBRERIAS FWH
-Lc:\FWH1905\lib
-lFiveH
-lFiveHC

#LIBRERIAS DE TERCEROS - EJEMPLO:
#-Lc:\GestObras\lib
#-ljvchwin
Gracias, tks.

Regards, saludos.

Novo mingw 15.1

Enviado: 14 Mai 2025 16:12
por JoséQuintas
Qual é o erro?
O erro indica do que se trata.

O ruim é aparecer o comando onde surgiu o erro, que costuma ser mostruoso.
Veja antes da linha monstruosa.

Novo mingw 15.1

Enviado: 15 Mai 2025 07:35
por JoséQuintas
Quer que seja direto.,...

Quer que tenha bolas de cristal pra adivinhar o que voce usa.,

Quer que faça curso de compilador C ou BAT pra mostrar do jeito que você quer

Ainda quer que poste no fórum fivewin em espanhol.

Vá pra ponte que caiu.

Parece mais que tá fazendo piada do que tentando resolver alguma coisa.

É programador ?
Sabe o que é fonte prg ?
Sabe o que é lib ?
Sabe o que é include ?
Sabe o que é path ?
É isso que vai precisar.

Inventou de usar a lib pra uma função específica.
Quer que eu adivinhe que precisa disso ?

Tome vergonha.
Faça da forma correta, ou não faça.

Pare de palhaçada.

É postar mensagem de erro, pra a partir da mensagem de erro tentar saber o que precisa.
Se você que usa a coisa não sabe, não vai ser outra pessoa que vai ter que adivinhar.
E muito menos escrevendo em espanhol ou outro idioma.

Novo mingw 15.1

Enviado: 15 Mai 2025 09:01
por Itamar M. Lins Jr.
Olá!
Tô acompanhando...
Se as pessoas soubessem, o trabalho que é, pelo menos pra mim, tá aqui postando, procurando ser o mais simples possível, só o essencial...
Sabendo que o beneficiado sou eu mesmo, pq quando faço algum tutorial, por mais simples que seja eu também estou aprendendo e estando sujeito a todo tipo de interpretações.
É bem simples de entender, neste caso, na maioria das vezes que vamos fazer o quê nos pedem, a probabilidade de dar desentendimento é grande.
Ou a pessoa, interessada compreende e entra nos MOLDES do que está sendo explicado, ou nada feito. É isso que estamos vendo agora.
Quer usar GCC para usar BCC ? Quer usar BCC para linkar GCC ? quer usar hbmk2, bat com hbmk2, quer ensinar o hbmk2 como fazer...
Não, o hbmk2 usa LLC/GCC/BCC/MSVC... BCC é *.lib, GCC é *.a coisas bem simples mais simples do que usar .bat. Posso ver o fonte do HBMK2.PRG e aprender com ele ?
Saber entender, descer no nível de compreender, ou subir! Vai depender da interpretação de cada um. Ajustar o EGO!
Vai usar ferramentas GNU/MIT/Open-source... aprender que são feitas PARA USO DO MUNDO TODO! Não estão fazendo um compilador para vc. Que vc vai baixar o arquivo ZIP/RAR... no site de FULANO! Se é NOVIDADE, com toda certeza, precisará aprender coisas novas. Não vamos pegar a NOVIDADE e BAIXAR o nível de entendimento das coisas ANTIGAS. Senão não estaríamos evoluindo.

São ferramentas MONITORADAS/CORRIGIDAS/ATUALIZADAS, usadas por MILHARES de pessoas, seguem NORMAS e a pessoa precisa se adequar. Precisa entender que está saindo de uma empresa, seja ela Microsoft, Embarcadeiro... E entrando em um mundo onde TODOS precisam ser atendidos, não mais somente EU, mas NÓS!
Como nós, fazemos isso ? Como nós usamos tal coisa ?... Deixa de depender de FULANO para subir a atualização X/Y/Z e começar a fazer as perguntas corretas e caminhar com as próprias pernas e ajudar os que estão procurando, precisam. O que o GIT faz ? O que o SVN faz ? Pra que serve. Pq tenho que usar eles ?

Neste momento estou usando GCC-UCRT que é a atualização do GCC que está integrado as normas da Microsoft...
Foi atualizado agora para versão 15.1.0 (revisão 4). Então são MILHARES de programadores usando, e evoluindo a ferramenta, enquanto a empresa X tem o seu próprio e pode ser MUITO BOM, mas muito bom até quando ? Pq as ferramentas abertas NÃO PARAM DE EVOLUIR. E não sabemos o que vem de novidades por ai.

Li, lá no outro site que o Enrico usa MSVC que é menor o executável... Mas cadê o teste de A e o teste de B para mostrar ? Cadê as explicações ?
O GCC pode linkar mais coisas no EXE exatamente pq gera .EXE para no mínimo 2 plataformas "Sistemas Operacionais" e o MSVC só enxergar Windows...
Isso não tem nada a ver com velocidade... A microsoft gosta de colocar OVOS de pascoa nos seus programas, tem até pinball no word... Então, nem ela liga pra tamanho de .EXE, Com tanto que tenha o mínimo de problemas possíveis... Tá bom! E seja rápido.
O GCC-UCRT é uma variante do compilador GCC (GNU Compiler Collection) configurada para usar a UCRT (Universal C Runtime), que é a biblioteca de tempo de execução padrão do Windows introduzida pela Microsoft.
...
UCRT: Substitui bibliotecas de runtime mais antigas (como MSVCRT) no Windows, oferecendo uma implementação mais moderna e compatível com padrões C/C++. Ela é incluída por padrão no Windows 10 e posteriores.

GCC-UCRT: Essa configuração do GCC é usada principalmente em ambientes Windows, como no MinGW-w64 (Minimalist GNU for Windows), para compilar programas que utilizam a UCRT como biblioteca de runtime. Isso garante maior compatibilidade com APIs modernas do Windows e padrões C/C++.

Vantagens:
Melhor suporte a funções padrão do C/C++.

Compatibilidade com aplicativos Windows modernos.

Menos dependências de bibliotecas legadas.


Saudações,
Itamar M. Lins Jr.

Novo mingw 15.1

Enviado: 15 Mai 2025 09:27
por JoséQuintas
Isso do GCC, o que não diz aí é o seguinte:

CRT é a biblioteca tradicional do Windows, usada por praticamente tudo.

UCRT é uma nova biblioteca que a Microsoft inventou.
Se é nova, é pra sistema operacional novo, disponível em sistema operacional novo.
Só vai ter em versão anterior se existir versão diponível.

MSVC já usei muito.
Parei quando descobri a merd. do run-time.

Uso ODBC MySQL 5.3
Foi criado em MSVC.
Toda vez que vai instalar, precisa instalar o run-time do Visual C 2013, baixado a parte.
Tem run-time pra 32 e pra 64 bits, depende da versão do ODBC que vai instalar.

Mas se for instalar outra versão de ODBC será outro run-time.

É vantagem ?
Ficar dependendo de instalar run-time ?
Acho que não.
Só é legal enquanto a versão Windows em uso vém com o mesmo run-time.
Mudou versão de Windows, pronto, começa a zona.

Na máquina de desenvolvimento não se percebe isso.
Instalou MSVC, já instala tudo que precisa.
O mesmo pro tal UCRT e similares.