Página 2 de 7
HMG 3.5 - Compilar programa com BAT sem uso auxílio da IDE ?
Enviado: 11 Jan 2021 10:22
por microvolution
JoséQuintas escreveu: coloque a indicação da HMG.HBC, caminho completo
já está assim desde que baixei o seu HMG que coloquei numa pasta: \hmg.jpa\
JoséQuintas escreveu:é ir na pasta HMG e compilar com o harbour 3.2: HBMK2 *.HBP
isso é pra fazer dentro da sua \HMG.JPA\ ou na minha \HMG.3.5\ (original) baixada do
hmgforum.com?
HMG 3.5 - Compilar programa com BAT sem uso auxílio da IDE ?
Enviado: 11 Jan 2021 10:28
por JoséQuintas
Na HMG_JPA
E acrescentar no seu projeto c:\hmg_jpa\hmg.hbc
Depois que der tudo certo, vamos mexer mais um pouco.
No momento ficou com duas HMGs, e vamos reduzir pra uma, mas primeiro precisa funcionar.
HMG 3.5 - Compilar programa com BAT sem uso auxílio da IDE ?
Enviado: 11 Jan 2021 23:03
por microvolution
compilei
JoséQuintas escreveu:compilar com o harbour 3.2: HBMK2 *.HBP
deu as seguintes mensagens/resultados no CMD:
Código: Selecionar todos
C:\MV\hmg.jpa>hbmk2 *.hbp
hbmk2: Gerando sub-projeto (passo 2): source\hmg_core.hbp
hbmk2: Acionado pelo operador de diretivas " # ": hbzebra.hbc
hbmk2: Criando biblioteca estáticas... lib\win\mingw\libhmg_core.a
hbmk2: Gerando sub-projeto (passo 2): source\crypt\hmg_crypt.hbp
hbmk2: Criando biblioteca estáticas... lib\win\mingw\libhmg_crypt.a
hbmk2: Gerando sub-projeto (passo 2): source\edit\hmg_edit.hbp
hbmk2: Criando biblioteca estáticas... lib\win\mingw\libhmg_edit.a
hbmk2: Gerando sub-projeto (passo 2): source\editex\hmg_editex.hbp
hbmk2: Criando biblioteca estáticas... lib\win\mingw\libhmg_editex.a
hbmk2: Gerando sub-projeto (passo 2): source\graph\hmg_graph.hbp
hbmk2: Criando biblioteca estáticas... lib\win\mingw\libhmg_graph.a
hbmk2: Gerando sub-projeto (passo 2): source\ini\hmg_ini.hbp
hbmk2: Criando biblioteca estáticas... lib\win\mingw\libhmg_ini.a
hbmk2: Gerando sub-projeto (passo 2): source\report\hmg_report.hbp
hbmk2: Criando biblioteca estáticas... lib\win\mingw\libhmg_report.a
hbmk2: Gerando sub-projeto (passo 2): hfcl\source\hmg_hfcl.hbp
hbmk2: Criando biblioteca estáticas... lib\win\mingw\libhmg_hfcl.a
hbmk2: Gerando sub-projeto (passo 2): source\hmg_core.hbp
hbmk2: Acionado pelo operador de diretivas " # ": hbzebra.hbc
hbmk2: Criando biblioteca estáticas... lib\win\mingw\libhmg_core.a
hbmk2: Gerando sub-projeto (passo 2): source\crypt\hmg_crypt.hbp
hbmk2: Criando biblioteca estáticas... lib\win\mingw\libhmg_crypt.a
hbmk2: Gerando sub-projeto (passo 2): source\edit\hmg_edit.hbp
hbmk2: Criando biblioteca estáticas... lib\win\mingw\libhmg_edit.a
hbmk2: Gerando sub-projeto (passo 2): source\editex\hmg_editex.hbp
hbmk2: Criando biblioteca estáticas... lib\win\mingw\libhmg_editex.a
hbmk2: Gerando sub-projeto (passo 2): source\graph\hmg_graph.hbp
hbmk2: Criando biblioteca estáticas... lib\win\mingw\libhmg_graph.a
hbmk2: Gerando sub-projeto (passo 2): source\ini\hmg_ini.hbp
hbmk2: Criando biblioteca estáticas... lib\win\mingw\libhmg_ini.a
hbmk2: Gerando sub-projeto (passo 2): source\report\hmg_report.hbp
hbmk2: Criando biblioteca estáticas... lib\win\mingw\libhmg_report.a
hbmk2: Gerando sub-projeto (passo 2): hfcl\source\hmg_hfcl.hbp
hbmk2: Criando biblioteca estáticas... lib\win\mingw\libhmg_hfcl.a
automaticamente todos os arquivos gerados ".a" foram transferidos automaticamente para a pasta LIB\win\mingw\
vamos compilar?
rsrsrs
na compilação apresentaram as seguintes mensagens de erro:
Código: Selecionar todos
C:/mvinfo/hmg.jpa/lib/win/mingw/libhmg_core.a(h_windows.o):h_windows.c:(.data+0x14c8): undefined reference to `HB_FUN_CALLDLL'
c:/mvinfo/hmg.3.5/mingw/bin/../lib/gcc/i686-w64-mingw32/9.3.0/../../../../i686-w64-mingw32/bin/ld.exe: C:/mvinfo/hmg.jpa/lib/win/mingw/libhmg_core.a(c_EventCB.o):c_EventCB.c:(.text+0x82): undefined reference to `hb_arrayScanCase'
como resolver? parece que o nobre professor deu as instruções mas não compreendi bem.
Em lugar algum dos meus .PRGs existe(m) esta função calldll() ou calldll32()
HMG 3.5 - Compilar programa com BAT sem uso auxílio da IDE ?
Enviado: 11 Jan 2021 23:36
por JoséQuintas
Tem certeza de que tirou o Harbour 3.4 do caminho?
Só por precaução, repita o comando, mas acrescente -rebuild
hbmk2 *.hbp -rebuild
Pode ser que mantive o parâmetro -inc da lib original, que só compila se precisar.
Vou aproveitar e remover isso de todas as libs, de tudo que é lugar que existir isso.
HMG 3.5 - Compilar programa com BAT sem uso auxílio da IDE ?
Enviado: 12 Jan 2021 00:20
por microvolution
JoséQuintas escreveu:hbmk2 *.hbp -rebuild
egrançado ou estranho que na compilação anterior ou nessa recompilação, enquanto é executado o comando, também é emitido um "beep" do tipo OK do MSGINFO da HMG.
HMG 3.5 - Compilar programa com BAT sem uso auxílio da IDE ?
Enviado: 12 Jan 2021 00:31
por microvolution
JoséQuintas escreveu:Tem certeza de que tirou o Harbour 3.4 do caminho?
já sei...
fiz aqui uma comparação manualmente pra conferir o que tem:
- na sua pasta \HMG.JPA\*.*
- na pasta original \HMG.3.5\*.*
descobri que na sua que você me mandou, não tem as 2 pastas:
- HARBOUR
- MINGW
Então, é isso...
copiei para dentro da sua versão as pastas faltantes.
HMG 3.5 - Compilar programa com BAT sem uso auxílio da IDE ?
Enviado: 12 Jan 2021 00:37
por microvolution
Código: Selecionar todos
c:/mvinfo/hmg.jpa/mingw/bin/../lib/gcc/i686-w64-mingw32/9.3.0/../../../../i686-w64-mingw32/bin/ld.exe: C:/mvinfo/hmg.jpa/lib/win/mingw/libhmg_core.a(h_windows.o):h_windows.c:(.data+0x14c8): undefined reference to `HB_FUN_CALLDLL'
c:/mvinfo/hmg.jpa/mingw/bin/../lib/gcc/i686-w64-mingw32/9.3.0/../../../../i686-w64-mingw32/bin/ld.exe: C:/mvinfo/hmg.jpa/lib/win/mingw/libhmg_core.a(c_EventCB.o):c_EventCB.c:(.text+0x82): undefined reference to `hb_arrayScanCase'
infelizmente tem algo de muito estranho nisso rsrsrs
HMG 3.5 - Compilar programa com BAT sem uso auxílio da IDE ?
Enviado: 12 Jan 2021 07:29
por JoséQuintas
microvolution escreveu:já sei...
fiz aqui uma comparação manualmente pra conferir o que tem:
- na sua pasta \HMG.JPA\*.*
- na pasta original \HMG.3.5\*.*
descobri que na sua que você me mandou, não tem as 2 pastas:
- HARBOUR
- MINGW
Então, é isso...
copiei para dentro da sua versão as pastas faltantes.
Primeiro alerta que faço:
Em sua máquina precisa estar harbour e compilador C funcionando.
Não tem que copiar nada, pare com isso de ficar multiplicando instalações de harbour.
Só resta pegar um horário e eu acessar remoto sua máquina pra tentar entender isso.
Com certeza vou apagar tudo que é harbour e compilador C repetido.
Corrigindo: vou renomear, porque às vezes tem coisa escondida nessas pastas, que não deveria estar lá, mas pode fazer falta.
HMG 3.5 - Compilar programa com BAT sem uso auxílio da IDE ?
Enviado: 12 Jan 2021 12:13
por microvolution
JoséQuintas escreveu:Só resta pegar um horário e eu acessar remoto sua máquina pra tentar entender isso.
ok
mas, talvez seja um simples problema e fácil de resolver.
o harbour 3.2 instalado em minha máquina, é o que veio originalmente da HMG 3.5.
Então veja as pastas que estão na minha HMG 3.5 baixada do
hmgforum.com:
Código: Selecionar todos
C:\Users\micro>cd\mv\hmg.3.5
C:\MV\hmg.3.5>dir
Pasta de C:\MV\hmg.3.5
06/12/2020 00:45 <DIR> .
06/12/2020 00:45 <DIR> ..
06/12/2020 00:41 <DIR> DOC
06/12/2020 00:41 <DIR> HARBOUR
06/12/2020 00:41 <DIR> hfcl
06/12/2020 00:46 <DIR> IDE
06/12/2020 00:41 <DIR> IDE_ANSI
06/12/2020 00:41 <DIR> INCLUDE
06/12/2020 00:41 <DIR> lib
06/12/2020 00:42 <DIR> MINGW
06/12/2020 00:43 <DIR> RESOURCES
06/12/2020 00:43 <DIR> SAMPLES
06/12/2020 00:43 <DIR> SOURCE
30/03/2010 23:01 597 bugreport.txt
26/03/2017 13:29 7.421 build.bat
26/03/2017 13:30 7.496 build64.bat
01/05/2016 17:46 856 BuildAllLib32.bat
01/05/2016 17:35 1.757 BuildLib32.bat
29/03/2017 18:13 180.988 changelog.txt
14/11/2020 09:57 2.108 changelog_forks.txt
18/03/2017 15:10 634 hmg32.hbc
26/03/2017 13:27 2.142 hmg32.hbp
18/03/2017 15:10 669 hmg64.hbc
18/03/2017 15:00 2.137 hmg64.hbp
15/11/2020 13:22 10 hmglib.txt
14/04/2010 13:58 1.241 license.txt
24/10/2020 09:44 574 README.md
14/11/2020 10:11 590 readme.txt
06/12/2020 00:43 1.838.699 unins000.dat
06/12/2020 00:41 2.592.097 unins000.exe
15/07/2014 11:45 872 _BuildAllLib64.bat
26/04/2016 21:59 1.919 _BuildLib64.bat
06/12/2020 00:38 136.497.506 _HMG.3.5_Setup.exe
agora o que veio na sua instalação hmg.jpa, o conteúdo é:
Código: Selecionar todos
C:\MV\hmg.3.5>cd..\hmg.jpa
C:\MV\hmg.jpa>dir
O volume na unidade C é W10
O Número de Série do Volume é 1092-3D98
Pasta de C:\MV\hmg.jpa
12/01/2021 00:31 <DIR> .
12/01/2021 00:31 <DIR> ..
06/01/2021 12:47 <DIR> .github
06/01/2021 12:47 <DIR> DOC
06/01/2021 12:47 <DIR> hfcl
06/01/2021 12:47 <DIR> IDE
06/01/2021 12:47 <DIR> IDE_ANSI
06/01/2021 12:47 <DIR> INCLUDE
06/01/2021 14:07 <DIR> lib
06/01/2021 12:47 <DIR> RESOURCES
06/01/2021 12:47 <DIR> SAMPLES
06/01/2021 12:47 <DIR> SOURCE
06/01/2021 12:47 <DIR> workflows
06/01/2021 12:47 597 bugreport.txt
06/01/2021 12:47 7.328 changelog-github.txt
06/01/2021 12:47 181.123 changelog.txt
06/01/2021 12:47 782 hmg - original.hbc
06/01/2021 12:47 238 hmg - original.hbp
07/01/2021 22:58 1.026 hmg.hbc
06/01/2021 12:47 238 hmg.hbp
06/01/2021 12:47 1.241 license.txt
06/01/2021 12:47 17 README.md
06/01/2021 12:47 590 readme.txt
C:\MVinfo\hmg.jpa>
faltam 1 ou 2 pastas (harbour e mingw).
Então, o nobre professor ao me enviar a sua pasta HMG (que renomeiei para HMG.JPA) veio faltando arquivos...
Por favor, tente me mandar uma completa, ou então, usarei as variáveis de ambiente direcionadas para o harbour/mingw que estão dentro da minha HMG 3.5 original que veio com harbour/contrib e tudo mais que a sua versão pra mim enviada, não o tem.
Do jeito que está, não existe o HBM2.EXE instalado em sua versão HMG.JPA.
Vou renomear as minhas variáveis de ambiente para apontar para o meu harbour que veio instalado da versão HMG.3.5 ficando assim:
Código: Selecionar todos
C:\MV\hmg.3.5\HARBOUR\bin
C:\MV\hmg.3.5\MINGW\bin
c:\mv\hmg.3.5\harbour
vamos compilar e ver o resultado?
HMG 3.5 - Compilar programa com BAT sem uso auxílio da IDE ?
Enviado: 12 Jan 2021 13:55
por JoséQuintas
Mas a idéia é usar o Harbour que você já tem, e não acrescentar mais um.
Veja se o harbour e o compilador C estão no path.
set path=c:\mv\hmg.3.5\harbour\bin;c:\mv\hmg.3.5\mingw\bin;%PATH%
por precaução
set hb_install_prefix=c:\mv\hmg.3.5\harbour
Lembra? um único harbour no computador, e um único compilador C, configurados e em uso.
Já deixe isso configurado no computador, porque por dentro ou por fora da IDE vai ser sempre o mesmo.
E se estiver funcionando em qualquer lugar.... vai funcionar também com a hmg que baixou.
HMG 3.5 - Compilar programa com BAT sem uso auxílio da IDE ?
Enviado: 12 Jan 2021 13:58
por microvolution
microvolution escreveu:vamos compilar e ver o resultado?
Código: Selecionar todos
c:/mv/hmg.3.5/mingw/bin/../lib/gcc/i686-w64-mingw32/9.3.0/../../../../i686-w64-mingw32/bin/ld.exe: C:/mv/hmg.jpa/lib/win/mingw/libhmg_core.a(h_windows.o):h_windows.c:(.data+0x14c8): undefined reference to `HB_FUN_CALLDLL'
c:/mv/hmg.3.5/mingw/bin/../lib/gcc/i686-w64-mingw32/9.3.0/../../../../i686-w64-mingw32/bin/ld.exe: C:/mv/hmg.jpa/lib/win/mingw/libhmg_core.a(c_EventCB.o):c_EventCB.c:(.text+0x82): undefined reference to `hb_arrayScanCase'
o mesmo de sempre usando sua \HMG.JPA\HMG.HBC
se setar para minha \HMG.3.5\HMG.HBC o resultado é:
Código: Selecionar todos
Lines 21089, Functions/Procedures 32
Generating C source output to 'C:\Users\micro\AppData\Local\Temp\hbmk_tjz15j.dir\ROTINAS6.c'... Done.
gcc.exe: error: I:/SISTEMA/_temp.o: No such file or directory
hbmk2[SISTEMA-bat]: Erro: Executando linkeditor. 1
o arquivo _TEMP.O já demonstrei acima (outras postagens anteriores) donde ele vem.
HMG 3.5 - Compilar programa com BAT sem uso auxílio da IDE ?
Enviado: 12 Jan 2021 14:33
por microvolution
JoséQuintas escreveu:set path=c:\mv\hmg.3.5\harbour\bin;c:\mv\hmg.3.5\mingw\bin;%PATH%
sim estão.
postei antes de sua mensagem os 3 caminhos.
JoséQuintas escreveu:set hb_install_prefix=c:\mv\hmg.3.5\harbour
tinha colocado a seu pedido há anos atrás, mas, aqui (nas mensagens deletas por V.Sa.) sugeriu ficar apenas outros parâmetros em path e outras remoçoes, esta foi uma delas...
vou acrescentar agora novamente.
vamos recompilar e ver se surtiu um resultado diferente...
nada!
tudo do mesmo jeito. Se compilar usando o caminho do seu HMG.HBC é um erro, se compilar com o uso do meu HMG.HBC o erro é outro.
Ambos os erros já os coloquei acima, não vejo o porquê lotar o fórum com mensagem repetida
HMG 3.5 - Compilar programa com BAT sem uso auxílio da IDE ?
Enviado: 12 Jan 2021 16:27
por JoséQuintas
Mas é primeiro recompilar a LIB, porque ela tinha sido compilada anteriormente com Harbour 3.4
Só depois o aplicativo.
Só comentário: esse SET HB_INSTALL_PREFIX, tem horas que o path desse parâmetro tem preferência aos demais.
HMG 3.5 - Compilar programa com BAT sem uso auxílio da IDE ?
Enviado: 12 Jan 2021 23:12
por microvolution
JoséQuintas escreveu:Mas é primeiro recompilar a LIB, porque ela tinha sido compilada anteriormente com Harbour 3.4
quer dizer que é para baixar aquele arquivo WIN_MISC_2 novamente e recompilá-lo dentro da sua pasta HMG.JPA?
agora eu, sinceramente, fiquei ainda mais como "cego num tiroteio"
vamos por partes e do início:
- estou com sua pasta HMG baixada de seu GITHUB, ele não veio completa para funcionar?
- quando recompilei, estava dentro da pasta do HB34 e recompilei um tal arquivo "win_misc_2" que foi colocado dentro do hb34 numa pasta quem nem me lembro mais;
- dentro do meu SISTEMA.HBP o nobre professor pediu para eu trocar a chamada à \HMG.3.5\HMG.HBC pela sua \HMG.JPA\HMG.HBC;
- pediu também para alterar dentro de sua HMG.HBC alguns comandos como wvg_core etc... que não existem dentro do HMG.HBC oficial
Então, o que é pra fazer mesmo?
HMG 3.5 - Compilar programa com BAT sem uso auxílio da IDE ?
Enviado: 13 Jan 2021 10:12
por JoséQuintas
Vamos seguir os erros:
Código: Selecionar todos
C:/mv/hmg.jpa/lib/win/mingw/libhmg_core.a(c_EventCB.o):c_EventCB.c:(.text+0x82): undefined reference to `hb_arrayScanCase'
a lib da hmg tá chamando isso e não deveria, isso tem a ver com Harbour 3.4
cd \mv\hmg_jpa
hbmk2 *.hbp -rebuild
Veja se realmente foi usado o Harbour 3.2.
Agora veja se compila o aplicativo.