Página 2 de 2

Re: Migrando para Harbour

Enviado: 29 Mar 2011 11:34
por progitar
Tenho um sistema em Clipper 5.01bem simples, e gostaria de migrar p/poder rodar no windows7 64 bits.
Quais os primeiros passos para migrar para o xHarbour (vou continuar no modo texto)?
Onde conseguir os compiladores, libs, bem como, alguma literatura para me familiarizar?

Obrigado!

Leandro

Migrando para Harbour

Enviado: 29 Mar 2011 17:26
por Pablo César
Leandro - progitar escreveu:para migrar para o xHarbour
Tem que ser em xHarbour ? Não pode ser em Harbour ?
Leandro - progitar escreveu:(vou continuar no modo texto)
Eu tive bons resultados e com muita rapidez com a IDE da HMG 3.0.35, mas este utiliza Harbour + MiniGUi. Se interessar, dê uma lida no arquivo DOC em anexo deste tópico: https://pctoledo.org/forum/viewto ... 43&t=11543

Ahhh ja ia esquecendo... "Seja bem vindo ao fórum !"

Re: Migrando para Harbour

Enviado: 30 Mar 2011 15:10
por wesley assis
Prezados, Boa tarde!

Baixei o Harbour neste link http://sourceforge.net/projects/harbour ... z/download, Preciso de informações, tutorial sobre como compilar e linkar, pois no clipper bastava CLIPPER NOME_DO _PROGRAMA e depois linka-lo. Etc. Quero converter aos poucos programas em clipper para Harbour.

Obrigado
Wesley Assis

Re: Migrando para Harbour

Enviado: 02 Abr 2011 16:20
por Magnoman
Eu desenvolvi um passo-a-passo depois que também quebrei a cabeça tentando, está apresentado neste link:

http://caclipperwebsite.com/todos/node/xharbour :)Pos

Re: Migrando para Harbour

Enviado: 02 Abr 2011 23:36
por Toledo
Para começar você terá que instalar o Harbour e o Compilador BCC, seja abaixo como fazer isto:

Copie a versão 2.0.0. do Harbour no link abaixo:

http://sourceforge.net/projects/harbour ... e/download

Para instalar o Harbour faça o seguinte:

1 - Executar o arquivo harbour-2.0.0-win.exe que você copiou no link acima, clique no botão "Next", depois em "I Agree", "Next" e finalmente em "Install"

2 - Você tem que instalar também o Borland BCC 5.5, para isto copie e execute o arquivo freecommandLinetools.exe que está no link abaixo:

http://altd.embarcadero.com/download/bc ... etools.exe

Na instalação do BCC 5.5, escolha os botões "Avançar" e depois "Concluir".

3 - Agora vamos configurar o Borland BCC 5.5:

a) Vamos criar o arquivo de configuração dos caminhos para o diretório /LIB e /INCLUDE do BCC e do harbour. Para isso, abra o Bloco de Notas e digite o seguinte:

-Ic:\Borland\bcc55\include;c:\hb20\include
-Lc:\Borland\bcc55\lib;c:\hb20\lib\win\bcc

Agora salve o arquivo no diretório C:\Borland\BCC55\BIN, com o nome de bcc32.cfg.

b) Agora vamos configurar o ILink32 do BCC, então usando o Bloco de Notas novamente, abra um arquivo novo e digite:

-Lc:\Borland\bcc55\lib;c:\hb20\lib\win\bcc

Agora salve-o no diretório C:\Borland\BCC55\BIN com o nome de ilink32.cfg.

4 - Para finalizar, temos que configurar o arquivo AUTOEXEC.BAT, informando o path do BCC e do Harbour.
Atenção: para Windows XP e Vista, pule para a opção "Configuração no Windows XP"

Configurando o AUTOEXEC.BAT:
Editar o arquivo AUTOEXEC.BAT, que está em C:\, e acrescentar os diretórios do BCC e do Harbour no path. Para isso acrescente as seguintes linhas no final do autoexec.bat.

PATH=%PATH%;C:\Borland\BCC55\BIN;C:\hb20\BIN

Depois salve e feche o arquivo.

Configuração no Windows XP:
Para o Windows XP a configuração acima é diferente, conforme segue abaixo:

a) Na área de trabalho do Windows, posicione o mouse sobre o Meu Computador e clique o botão direito e escolha a opção Propriedades
b) Clique na aba Avançado
c) Agora selecione no campo "Variáveis do sistema" uma variável chamada "path" e clique no botão Editar e acrescente no final do campo "Valor da variável" o seguinte comando:

;C:\Borland\BCC55\BIN;C:\hb20\BIN;

Obs.: note que existe um ; no início e no final do comando acima

d) Clique no botão Ok
e) E para finalizar, clique no botâo Ok novamente e feche a tela de propriedades.

Pronto, o BCC e o Harbour já estão instalados e configurados.

O Harbour é um compilador identico ao Clipper, então para usar ele você tem que digitar os comandos no Prompt do DOS.

No desenvolvimento de um PRG para compilar com o Harbour temos que observar as seguintes regras:

1 - O programa principal, que vai ter a tela iniciar do seu programa, tem que iniciar com:

FUNCTION MAIN()
..... //aqui vai os comandos do programa inicial
.....
RETURN NIL

A função MAIN() vai indicar para o Harbour que este PRG é o inicial.

2 - Tirando o PRG principal acima, todos os outros PRG do seu programa tem que iniciar com uma FUNCTION ou PROCEDURE.
No Clipper, quando a gente desenvolvia um programa dividido em vários PRGs, nos PRGs secundários você podia já começar colocando os comandos sem a necessidade de definir uma FUNCTION ou PROCEDURE. Com o Harbour isto não pode acontecer, os PRGs secundários é obrigatório iniciar com uma FUNCTION ou PROCEDURE.

3 - Como no Harbour todos os PRGs secundários iniciam como uma FUNCTION ou PROCEDURE, toda chamada destes PRGs não pode mais ser usado o comando "DO", por exemplo: DO CADCLI ou DO CADCLI WITH 10,20, você deve trocar para simplesmente CADCLI() ou CADCLI(10,20).

4 - Para compilar com o Harbour um programa que tenha vários PRGs, devemos criar um arquivo HBP com o nome de todos os PRGs. Por exemplo: se o seu programa tem os seguintes arquivos: MENU.PRG, CLIENTES.PRG, PRODUTOS.PRG, LANCA.PRG, RELATO.PRG, ROTINAS.PRG, você deve criar um arquivo que tenha a extensão HBP (por exemplo: PROJETO.HBP) e dentro dele relacionar os PRGs acima. Veja um exemplo:

-inc
-osistema
menu.prg
clientes.prg
produtos.prg
lanca.prg
relato.prg
rotinas.prg

O comando -inc faz com que o Harbour compile apenas os PRGs que foram modificados desde a última compilação.
Onde está "-osistema" você deve informar o nome que o seu EXE vai ter. Então se você quer que o seu EXE tenha por exemplo o nome de SCE.EXE, troque -osistema por -osce.

Bom, criado o arquivo HBP, para compilar e linkar basta digitar:

HBMK2 PROJETO

No comando acima a expressão "PROJETO" é o nome do arquivo HBP que você criou.

Bom, no caso de você querer compilar os seus programas desenvolvidos em Clipper com o Harbour, você primeiro tem que verificar se neste seu programa você não está usando alguma LIB ou OBJ externo, que não seja ORIGINAL do Clipper. Pois o Harbour não aceita LIBs ou OBJs externos.

Abraços,

Migrando para Harbour

Enviado: 16 Jul 2015 22:29
por Walterley
Caro amigo Toledo...

Fiz tudo o que você indicou no post anterior... Reinstalei o Borland e o Harbour, revisei os arquivos de configuração e criei os paths corretos.
Alguma coisa melhorou, pois já consigo ir até muito próximo do final da compilação, mas aparece o seguinte erro

(suprimi algumas linhas para não ser muito repetitivo, afinal, são 156 rotinas diferentes.)

(...) hbmk/win/mingw/OFI_ATR5.o .hbmk/win/mingw/OFI_ATR6
.o .hbmk/win/mingw/OFI_MENU.o .hbmk/win/mingw/OFI_PROC.o .hbmk/win/mingw/OFI_FUN
C.o .hbmk/win/mingw/OFI_FUN2.o .hbmk/win/mingw/OFI_OUTR.o .hbmk/win/mingw/_hbmka
ut_GASP40HB.o -mconsole -Wl,--start-group -lxhb -lhbwin -lhbct -lhbziparc -lh
bmzip -lminizip -lhbnf -lhbextern -lhbdebug -lhbvm -lhbrtl -lhblang -lhbcpage -l
gtcgi -lgtpca -lgtstd -lgtwin -lgtwvt -lgtgui -lhbrdd -lhbuddall -lhbusrrdd -lrd
dntx -lrddcdx -lrddnsx -lrddfpt -lhbrdd -lhbhsx -lhbsix -lhbmacro -lhbcplr -lhbp
p -lhbcommon -lhbmainstd -lkernel32 -luser32 -lgdi32 -ladvapi32 -lws2_32 -liphlp
api -lwinspool -lcomctl32 -lcomdlg32 -lshell32 -luuid -lole32 -loleaut32 -lmpr -
lwinmm -lmapi32 -limm32 -lmsimg32 -lwininet -lhbpcre -lhbzlib -Wl,--end-group
-oOFICINA.exe -LC:/hb32/lib/win/mingw.hbmk/win/mingw/OFICINA.o:OFICINA.c:(.data+0x128):
undefined reference to `HB_FUN_ALT'
collect2: ld returned 1 exit status
hbmk2[OFICINA]: Erro: Executando linkeditor. 1


c:\Harbour>

Não encontrei em nenhum PRG a função ou a chamada para esta função ' HB_FUN_ALT'. Como poderei encontrar este erro?
Já uso o -trace na compilação, existe algum outro truque que eu possa debugar no momento da compilação?

Antecipadamente agradeço o auxilio de qualquer colega deste forum.

Walterley Neves

Migrando para Harbour

Enviado: 16 Jul 2015 23:34
por Toledo
Walterley escreveu:Não encontrei em nenhum PRG a função ou a chamada para esta função ' HB_FUN_ALT'
Amigo, na verdade o nome da função é apenas ALT(), pois tem que desconsiderar o HB_FUN_, que é um prefixo padrão usado pelo Harbour nos nomes das funções.

Abraços,

Migrando para Harbour

Enviado: 21 Jul 2015 20:34
por Walterley
Caro amigo Toledo.

Obrigado pela resposta e pelo esclarecimento. Eu iria continuar o resto da vida procurando o HB_FUN_ALT...

Agora estou procurando apenas uma função no sistema, onde eu utilizei uma funcão, disparada pela tecla ALT-F7 para calcular o digito verificador do código de barra de produtos, quando o usuário está cadastrando produtos novos em estoque. Vou mudar esta função da biblioteca para o ofi_func.prg, onde estão todas as funções pequenas do sistema.

Vou aproveitar também para compilar e linkar a libgas.prg e com isto evitar problemas futuros...

Obrigado por todas as informações que você veiculou nos fóruns... Aprendi muito lendo-as.

Walterley
:{ :{ :-Y

Migrando para Harbour

Enviado: 29 Mai 2016 20:01
por arcanjoebc
Para plataforma Windows 10 Pro, 64 bits, de onde devo baixar o harbour e como configurar o compilador? As dicas já apresentadas servem? Ainda não as testei, baixei um tal de harbour-nightly-win.exe, da página do sourceforge.net, mas não consigo gerar o exe, apenas no Ubuntu 16.04 64 bits comsegui gerar o executável ... alguém pode me ajudar?

Migrando para Harbour

Enviado: 29 Mai 2016 21:36
por JoséQuintas
Não entendi a indicação anterior do Harbour 2.0, pelo menos não percebi se algum post direciona a ele.

No Windows 10 deveria ser só isso, e configurar o path do Harbour e do compilador C:
PATH=%PATH%;\harbour\bin;\harbour\mingw\bin

Se já compila no Ubuntu, é provável que já tenha HBP e tudo mais pronto.

Migrando para Harbour

Enviado: 29 Mai 2016 21:52
por arcanjoebc
Desculpe minha ignorância, mas em que batch da pasta c:\hb32 eu coloco essa configuração que mencionastes, amigo JoséQuintas? Talvez o harbour já faça a linkagem, mas eu não estou sabendo é que parametros passar pelo modo texto do Windows 10, tem algum comando específico para compilar e linkar os prg's do meu pequeno exemplo de cadastro de clientes? Aguardo futura resposta.

Migrando para Harbour

Enviado: 29 Mai 2016 22:55
por JoséQuintas
1. Pra buscar automaticamente no Harbour, precisa estar no path o Harbour e o compilador C
\hb32\bin;\hb32\comp\mingw\bin

2. Coloque a lista de PRGs em um arquivo com extensão HBP, o principal como primeiro

----principal.hbp
principal.prg
arquivo2.prg
-m

3. Execute hbmk2 com o nome desse arquivo hbp

hbmk2 principal.hbp

Acredito que no Ubuntu seja igual.

Migrando para Harbour

Enviado: 30 Mai 2016 00:51
por arcanjoebc
Não, no Ubuntu, eu utilizo o seguinte:

Código: Selecionar todos

$ hbmk2 -lgpm -static cli.prg
Então gera o executável ... pensei que fosse algo parecido no Windows, mas obrigado pela dica, vou testar e posto aqui o resultado, ok! :D

Migrando para Harbour

Enviado: 30 Mai 2016 01:27
por arcanjoebc
Fiz o teste, mas apresentou erros. Então, mostro abaixo um screen-shot com os erros apresentados no Windows 10 Pro 64 bits, caro amigo JoséQuintas:
Erro apresentado
Erro apresentado


Desde já, sou-lhe grato por qualquer solução para o problema em questão.

Migrando para Harbour

Enviado: 30 Mai 2016 02:25
por JoséQuintas
Provavelmente no Ubuntu apenas indicou o programa principal e deixou que o compilador pegasse o restante a partir do principal.

Opção 1:
Compilar SEM o -m, pra puxar automaticamente os outros fontes da pasta (se estiverem indicados no principal com SET PROCEDURE por exemplo.

Opção 2:
Indicar os fontes aonde se encontram as funções Reindexa() e Struct2()
No HBP vão TODOS os fontes do projeto, não apenas alguns.
Ou coloca todos com -m, ou sem o -m, e deixa que o compilador tente procurar atomaticamente.

Tente igual ao Ubuntu, mas acrescente isto, pra refazer toda compilação:

Código: Selecionar todos

hbmk2 cli.prg -rebuild