Clipper On Line • Ver Tópico - Arquivo BAT para copilar com harbour

Arquivo BAT para copilar com harbour

Projeto Harbour - Compilador de código aberto compatível com o Clipper.

Moderador: Moderadores

 

Arquivo BAT para copilar com harbour

Mensagempor Arlindo » 29 Abr 2017 20:02

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
Avatar de usuário

Arlindo
Usuário Nível 1

Usuário Nível 1
 
Mensagens: 10
Data de registro: 26 Mar 2017 12:31
Cidade/Estado: Belém/Pará
Curtiu: 0 vez
Mens.Curtidas: 0 vez

Arquivo BAT para copilar com harbour

Mensagempor JoséQuintas » 30 Abr 2017 21:10

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.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, PNotepad
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar de usuário

JoséQuintas
Membro Master

Membro Master
 
Mensagens: 18157
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1215 vezes

Arquivo BAT para copilar com harbour

Mensagempor Arlindo » 30 Abr 2017 22:09

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.
Avatar de usuário

Arlindo
Usuário Nível 1

Usuário Nível 1
 
Mensagens: 10
Data de registro: 26 Mar 2017 12:31
Cidade/Estado: Belém/Pará
Curtiu: 0 vez
Mens.Curtidas: 0 vez

Arquivo BAT para copilar com harbour

Mensagempor JoséQuintas » 01 Mai 2017 00:29

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

-ic:\fwh412\include
-libfive1
-llibfive2


Se quiser aproveitar depois, pode criar um HBC para o fivewin, seria assim:

fivewin.hbc
incpaths=c:\fwh1412\include
libpaths=c:\fwh1312\lib
libs=libfive1 libfive2
gui-yes
mt=yes


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
libs=c:\fwh1412


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)

incpaths=include
libpaths=lib
libs=libfive1 libfive2
gui-yes
mt=yes


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.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, PNotepad
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar de usuário

JoséQuintas
Membro Master

Membro Master
 
Mensagens: 18157
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1215 vezes

Arquivo BAT para copilar com harbour

Mensagempor Arlindo » 01 Mai 2017 12:28

Boa tarde amigo

Consegui fazer pelo hbp
Só está dando este erro.
poderia me explicar, como proceder?

obrigado

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
Avatar de usuário

Arlindo
Usuário Nível 1

Usuário Nível 1
 
Mensagens: 10
Data de registro: 26 Mar 2017 12:31
Cidade/Estado: Belém/Pará
Curtiu: 0 vez
Mens.Curtidas: 0 vez

Arquivo BAT para copilar com harbour

Mensagempor JoséQuintas » 01 Mai 2017 13:04

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.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, PNotepad
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar de usuário

JoséQuintas
Membro Master

Membro Master
 
Mensagens: 18157
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1215 vezes




Retornar para Harbour

Quem está online

Usuários vendo este fórum: Nenhum usuário registrado online e 11 visitantes


Ola Amigo, espero que meu site e forum tem lhe beneficiado, com exemplos e dicas de programacao.
Entao divulgue o link da Doacao abaixo para seus amigos e redes sociais ou faça uma doacao para o site forum...
MUITO OBRIGADO PELA SUA DOACAO!
Faça uma doação para o forum
cron
v
Olá visitante, seja bem-vindo ao Fórum Clipper On Line!
Efetue o seu login ou faça o seu Registro