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.