Boa noite amigos
preciso de um BAT para copilar harbour com Fivewin
Já faz algum tempo que venho tentando e não consigo.
Por favor me mandem um pequeno exemplo.
Já trabalho desde 1997 com Fivewin, só com xharbour só que preciso urgente migrar para harbour.
Só que copilo com IDE xHarbour comercial e BAT pra mim com fivewin é novidade.
Alguém pode me ajudar?
ObrigadoBAT
Arquivo BAT para copilar com harbour
Moderador: Moderadores
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
Arquivo BAT para copilar com harbour
Se acompanhou meus posts sobre HBP e da ALLGUI, deve ter visto que em Harbour não precisa BAT.
O BAT é apenas uma conveniência de cada um, pra automatizar processos.
A maioria acostuma com BATs, ou IDEs, ou outra coisa, e até esquece como usar Harbour, ou mesmo no Clipper.
E algumas LIBs fazem acostumar com BATS ou IDEs, e ajudam pra fazer o usuário esquecer como se faz.
Vamos lá:
O Harbour tem o arquivo de projeto, chama-se HBP.
Nele você coloca a lista de tudo que faz parte do projeto.
É uma coisa por linha.
O que pode fazer parte de um projeto Harbou, não importa se é fivewin, minigui, hwgui, Harbour puro, etc.
ARQUIVOS PRG (fontes)
Basta indicar o nome
ARQUIVOS CH (aqueles #include do fonte)
Geralmente o nome é indicado no próprio fonte.
Caso esteja em uma pasta diferente do fonte, no HBP indica a pasta do arquivo ch
Não precisa pra arquivos que fazem parte do Harbour.
-i\nomedapasta\
ARQUIVOS RC (Resource: imagens e outras coisas)
Basta indicar o nome
ARQUIVOS LIB (ou .a) (Bibliotecas)
Precisa duas indicações SEPARADAS: o nome e a pasta
Para a parte padrão do Harbour não precisa.
-lNomeDaLib
-LPastaDaLib
Arquivos FMG (telas minigui)
Ele é indicado como #include, então segue a regra de arquivos CH
Existe também o arquivo HBC, que é um conjunto de instruções do mesmo tipo acima, mas com sintaxe diferente.
Mas é a mesma coisa: pode definir LIBs, CHs, pastas, etc.
Acho que isso cobre a maioria das coisas.
O ideal é criar um arquivo HBC para o fivewin, pra uso geral, e um HBP para seu aplicativo.
Se não sabe criar, comece por tentativa e erro: vai criando, testando, e acrescentando o que faltar no HBP, conforme as mensagens de erro.
Mas lembrando:
Se for usar, por exemplo, Borland C, vai precisar Harbour pra Borland C, e fivewin pra Harbour/Borland C.
E pra compilar, vai ser:
hbmk2 arquivo.hbp
Lógico, todo ambiente precisa estar configurado: Harbour\bin no PATH e compilador C também no PATH.
Ah sim, faltou dizer:
Será IMPOSSÏVEL alguém te mandar um bat que funcione na sua máquina.
Ninguém tem a menor idéia em que pastas instalou Harbour ou fivewin ou compilador C no seu computador.
Então o melhor negócio é aprender como se faz, e saber o que fez na sua máquina.
O BAT é apenas uma conveniência de cada um, pra automatizar processos.
A maioria acostuma com BATs, ou IDEs, ou outra coisa, e até esquece como usar Harbour, ou mesmo no Clipper.
E algumas LIBs fazem acostumar com BATS ou IDEs, e ajudam pra fazer o usuário esquecer como se faz.
Vamos lá:
O Harbour tem o arquivo de projeto, chama-se HBP.
Nele você coloca a lista de tudo que faz parte do projeto.
É uma coisa por linha.
O que pode fazer parte de um projeto Harbou, não importa se é fivewin, minigui, hwgui, Harbour puro, etc.
ARQUIVOS PRG (fontes)
Basta indicar o nome
ARQUIVOS CH (aqueles #include do fonte)
Geralmente o nome é indicado no próprio fonte.
Caso esteja em uma pasta diferente do fonte, no HBP indica a pasta do arquivo ch
Não precisa pra arquivos que fazem parte do Harbour.
-i\nomedapasta\
ARQUIVOS RC (Resource: imagens e outras coisas)
Basta indicar o nome
ARQUIVOS LIB (ou .a) (Bibliotecas)
Precisa duas indicações SEPARADAS: o nome e a pasta
Para a parte padrão do Harbour não precisa.
-lNomeDaLib
-LPastaDaLib
Arquivos FMG (telas minigui)
Ele é indicado como #include, então segue a regra de arquivos CH
Existe também o arquivo HBC, que é um conjunto de instruções do mesmo tipo acima, mas com sintaxe diferente.
Mas é a mesma coisa: pode definir LIBs, CHs, pastas, etc.
Acho que isso cobre a maioria das coisas.
O ideal é criar um arquivo HBC para o fivewin, pra uso geral, e um HBP para seu aplicativo.
Se não sabe criar, comece por tentativa e erro: vai criando, testando, e acrescentando o que faltar no HBP, conforme as mensagens de erro.
Mas lembrando:
Se for usar, por exemplo, Borland C, vai precisar Harbour pra Borland C, e fivewin pra Harbour/Borland C.
E pra compilar, vai ser:
hbmk2 arquivo.hbp
Lógico, todo ambiente precisa estar configurado: Harbour\bin no PATH e compilador C também no PATH.
Ah sim, faltou dizer:
Será IMPOSSÏVEL alguém te mandar um bat que funcione na sua máquina.
Ninguém tem a menor idéia em que pastas instalou Harbour ou fivewin ou compilador C no seu computador.
Então o melhor negócio é aprender como se faz, e saber o que fez na sua máquina.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
- Arlindo
- Usuário Nível 1

- Mensagens: 10
- Registrado em: 26 Mar 2017 12:31
- Localização: Belém/Pará
- Contato:
Arquivo BAT para copilar com harbour
Será IMPOSSÏVEL alguém te mandar um bat que funcione na sua máquina.
Oh amigo obrigado.
Mais não precisa ninguém saber onde ta meu arquivos, pelo exemplo que vem eu altero.
Fiz este mais ainda funfou
Nome do arquivo
finance.hbp
-oFinance
-incpath=c:\fwh1412\include
-Lc:\fwh1412\lib
-gtgui
-strip
-jobs=%NUMBER_OF_PROCESSORS%
-inc
-run
C:\Harbour\contrib\hbmysql\hbmysql.hbc
C:\Harbour\contrib\hbwin\hbwin.hbc
C:\Harbour\contrib\xhb\xhb.hbc
C:\Harbour\contrib\hbct\hbct.hbc
C:\Harbour\contrib\hbmisc\hbmisc.hbc
finance.prg
BIBI.PRG
MENCAD.PRG
MENLAN.PRG
MENCAI.PRG
MENREC.PRG
MENPAG.PRG
MENCCO.PRG
DIVERS.PRG
HELP32.PRG
MSGMETER.PRG
MSGRUN.PRG
MSGTF.PRG
window.prg
FWERROR.PRG
RPREVIEW.PRG
MENZIP.PRG
MENAGE.PRG
TCALENDA.PRG
menlan2.prg
MENFIN.PRG
menrel.prg
finance.res
finance2.res
Pode colocar pra mim onde coloco as libs os ch as pastas do fivewin etc...
é só da um exemplo de pasta que altero aqui
Os PRGS são da minha aplicação mais lá no começo não sei se está certo, peguei este exemplo no google
Obrigado e sem criticas.
Oh amigo obrigado.
Mais não precisa ninguém saber onde ta meu arquivos, pelo exemplo que vem eu altero.
Fiz este mais ainda funfou
Nome do arquivo
finance.hbp
-oFinance
-incpath=c:\fwh1412\include
-Lc:\fwh1412\lib
-gtgui
-strip
-jobs=%NUMBER_OF_PROCESSORS%
-inc
-run
C:\Harbour\contrib\hbmysql\hbmysql.hbc
C:\Harbour\contrib\hbwin\hbwin.hbc
C:\Harbour\contrib\xhb\xhb.hbc
C:\Harbour\contrib\hbct\hbct.hbc
C:\Harbour\contrib\hbmisc\hbmisc.hbc
finance.prg
BIBI.PRG
MENCAD.PRG
MENLAN.PRG
MENCAI.PRG
MENREC.PRG
MENPAG.PRG
MENCCO.PRG
DIVERS.PRG
HELP32.PRG
MSGMETER.PRG
MSGRUN.PRG
MSGTF.PRG
window.prg
FWERROR.PRG
RPREVIEW.PRG
MENZIP.PRG
MENAGE.PRG
TCALENDA.PRG
menlan2.prg
MENFIN.PRG
menrel.prg
finance.res
finance2.res
Pode colocar pra mim onde coloco as libs os ch as pastas do fivewin etc...
é só da um exemplo de pasta que altero aqui
Os PRGS são da minha aplicação mais lá no começo não sei se está certo, peguei este exemplo no google
Obrigado e sem criticas.
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
Arquivo BAT para copilar com harbour
Comparando o seu HBP com o texto que coloquei, só a pasta de CH está errada, está no formato do HBC e não do HBP.
e falta o nome das libs do fivewin, que estão em c:\fwh412\lib
Se quiser aproveitar depois, pode criar um HBC para o fivewin, seria assim:
fivewin.hbc
troque libfive1 libfive2 pela lista de libs do fivewin
salve o hbc dentro de \harbour\addons
depois pode substituir no arquivo HBP o que se refere a fivewin por fivewin.hbc
A vantagem seria ficar pronto pra qualquer projeto fivewin.
Ou....
Salve na pasta do fivewin (c:\fhw1412), e crie este hbmk.hbc na pasta \harbour\bin
A vantagem da segunda forma é que ao fazer backup do fivewin, já leva o hbc, que contém a configuração, junto.
Inclusive vai poder usar path relativo ao invés de path completo, o que o torna mais portátil. (o path em relação ao path atual, ao invés do path exato)
Desse último jeito, não importa a pasta do fivewin para o hbc.
Só vai importar para o hbmk.hbc da pasta \harbour\bin
É assim que as LIBs do Harbour trabalham.
Espero não ter complicado.
Comece testando pelo HBP, até funcionar.
Depois, se quiser, ajuste pra usar o HBC.
e falta o nome das libs do fivewin, que estão em c:\fwh412\lib
Código: Selecionar todos
-ic:\fwh412\include
-libfive1
-llibfive2
fivewin.hbc
Código: Selecionar todos
incpaths=c:\fwh1412\include
libpaths=c:\fwh1312\lib
libs=libfive1 libfive2
gui-yes
mt=yes
salve o hbc dentro de \harbour\addons
depois pode substituir no arquivo HBP o que se refere a fivewin por fivewin.hbc
A vantagem seria ficar pronto pra qualquer projeto fivewin.
Ou....
Salve na pasta do fivewin (c:\fhw1412), e crie este hbmk.hbc na pasta \harbour\bin
Código: Selecionar todos
libs=c:\fwh1412
Inclusive vai poder usar path relativo ao invés de path completo, o que o torna mais portátil. (o path em relação ao path atual, ao invés do path exato)
Código: Selecionar todos
incpaths=include
libpaths=lib
libs=libfive1 libfive2
gui-yes
mt=yes
Só vai importar para o hbmk.hbc da pasta \harbour\bin
É assim que as LIBs do Harbour trabalham.
Espero não ter complicado.
Comece testando pelo HBP, até funcionar.
Depois, se quiser, ajuste pra usar o HBC.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
- Arlindo
- Usuário Nível 1

- Mensagens: 10
- Registrado em: 26 Mar 2017 12:31
- Localização: Belém/Pará
- Contato:
Arquivo BAT para copilar com harbour
Boa tarde amigo
Consegui fazer pelo hbp
Só está dando este erro.
poderia me explicar, como proceder?
obrigado
Consegui fazer pelo hbp
Só está dando este erro.
poderia me explicar, como proceder?
obrigado
Código: Selecionar todos
D:\finance>hbmk2 finance.hbp
hbmk2: Linkando... Finance.exe
Turbo Incremental Link 5.00 Copyright (c) 1997, 2000 Borland
Error: 'C:\FWH911\LIB\FIVEHCM.LIB' contains invalid OMF record, type 0x21 (possi
bly COFF)
hbmk2[finance]: Erro: Executando linkeditor. 2
ilink32.exe @C:\Users\arlindo\AppData\Local\Temp\vl346f.lnk
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
Arquivo BAT para copilar com harbour
Acredito que possa ser uma mistura de libs.
A extensão LIB vale pra Microsoft Visual C (msvc) e pra Borland C (bcc).
Confirme se essa LIB é pra MSVC ou BCC, e até mesmo se é pra uma versão específica.
Como o HBMK2 chamou o BCC, significa que o Harbour vai pegar as LIBs dele em BCC.
O mesmo não acontece com fivewin, porque vai pegar da pasta que voce indicou, sem testar se é bcc ou msvc.
A não ser que tenha pros dois compiladores e possa colocar a escolha automática no HBP.
O mingw usa extensão .A ao invés de .LIB, por isso não tem problema se misturar as LIBs na mesma pasta.
Já msvc e bcc, só colocando em pastas diferentes.
Se olhar a pasta de LIBs do Harbour, elas são divididas assim:
\harbour\lib\win\msvc
\harbour\lib\win\mingw
\harbour\lib\win\bcc
por isso não mistura entre compiladores, mas ainda assim pode ser qualquer versão de mingw, qualquer versão de msvc ou qualquer versão de bcc.
Querendo ou não, tem que lembrar que o Harbour não é compilador.
O compilador é o compilador C.
A versão do compilador C é a primeira coisa a comparar entre Harbour e LIBs, e até mesmo as próprias LIBs do Harbour tem que ter sido geradas pelo mesmo compilador C.
A extensão LIB vale pra Microsoft Visual C (msvc) e pra Borland C (bcc).
Confirme se essa LIB é pra MSVC ou BCC, e até mesmo se é pra uma versão específica.
Como o HBMK2 chamou o BCC, significa que o Harbour vai pegar as LIBs dele em BCC.
O mesmo não acontece com fivewin, porque vai pegar da pasta que voce indicou, sem testar se é bcc ou msvc.
A não ser que tenha pros dois compiladores e possa colocar a escolha automática no HBP.
O mingw usa extensão .A ao invés de .LIB, por isso não tem problema se misturar as LIBs na mesma pasta.
Já msvc e bcc, só colocando em pastas diferentes.
Se olhar a pasta de LIBs do Harbour, elas são divididas assim:
\harbour\lib\win\msvc
\harbour\lib\win\mingw
\harbour\lib\win\bcc
por isso não mistura entre compiladores, mas ainda assim pode ser qualquer versão de mingw, qualquer versão de msvc ou qualquer versão de bcc.
Querendo ou não, tem que lembrar que o Harbour não é compilador.
O compilador é o compilador C.
A versão do compilador C é a primeira coisa a comparar entre Harbour e LIBs, e até mesmo as próprias LIBs do Harbour tem que ter sido geradas pelo mesmo compilador C.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/