Criar uma lib com o harbour

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

Moderador: Moderadores

wagnervidal
Usuário Nível 1
Usuário Nível 1
Mensagens: 27
Registrado em: 21 Out 2010 11:35
Localização: Araguari/MG

Criar uma lib com o harbour

Mensagem por wagnervidal »

Galera blz?
Estou aos poucos migrando meu sistema para harbour, tenho uma lib que eu fiz para algumas funçoes em clipper.. Como eu converto a mesma para o harbour
eu tenho o fonte dela
tipo

Código: Selecionar todos

 
FUNCTION NOMEDIA(DATAI,NRET)
       set date british
       PUBLIC DATASEM,DSEM
       Diasem=UPPER(LEFT(CDOW(DataI),3))
       DO CASE
          CASE DIASEM="SUN"
               Datasem="Domingo"
               Dsem="DOM"
          CASE DIASEM="MON"
               Datasem="Segunda"
               Dsem="SEG"
          CASE DIASEM="TUE"
               Datasem="Terca  "
               Dsem="TER"
          CASE DIASEM="WED"
               Datasem="Quarta "
               Dsem="QUA"
          CASE DIASEM="THU"
               Datasem="Quinta "
               Dsem="QUI"
          CASE DIASEM="FRI"
               Datasem="Sexta  "
               Dsem="SEX"
          CASE DIASEM="SAT"
               Datasem="Sabado "
               Dsem="SAB"
       ENDCASE
IF NRET=1
   RETURN DATASEM
ELSE
   RETURN DSEM
ENDIF

essa função é uma delas que eu tenho que mudar o que para compilar a lib o que tenho que mudar e como compila-la para harbour?
Avatar do usuário
Itamar M. Lins Jr.
Administrador
Administrador
Mensagens: 7929
Registrado em: 30 Mai 2007 11:31
Localização: Ilheus Bahia
Curtiu: 1 vez

Re: Criar uma lib com o harbour

Mensagem por Itamar M. Lins Jr. »

Ola!
Usando hbmk2 -help
Lá tem assim, entre outras opções: hbmk2 -hblib criar biblioteca estática

Saudações,
Itamar M. Lins Jr.
Saudações,
Itamar M. Lins Jr.
Avatar do usuário
Itamar M. Lins Jr.
Administrador
Administrador
Mensagens: 7929
Registrado em: 30 Mai 2007 11:31
Localização: Ilheus Bahia
Curtiu: 1 vez

Re: Criar uma lib com o harbour

Mensagem por Itamar M. Lins Jr. »

Ola!
Apenas um aviso.
Essa função sua ai em cima não é necessária no Harbour.
O Harbour usa unicode então para ativar o português, usamos:

Código: Selecionar todos

REQUEST HB_LANG_PT,HB_CODEPAGE_PTISO,HB_CODEPAGE_PT850
Function Main

HB_CDPSELECT([PTISO])
hb_langselect([PT])
Com isso já vai mostrar os dias da semana, meses, mensagens de erro em português.

Saudações,
Itamar M. Lins Jr.
Saudações,
Itamar M. Lins Jr.
wagnervidal
Usuário Nível 1
Usuário Nível 1
Mensagens: 27
Registrado em: 21 Out 2010 11:35
Localização: Araguari/MG

Re: Criar uma lib com o harbour

Mensagem por wagnervidal »

Itamar obrigado por me ajudar..
Essa é uma das funções da minha lib é apenas um exemplo..
Fui compilar e aconteceu isso

D:\Meus documentos\Projetos fontes\sistema comercial wv>hbmk2 -hblib MINHALIB.PRG
hbmk2: Processando arquivo de configuração: C:\HB20\BIN\hbmk.cfg
Harbour 2.0.0 (Rev. 13372)
Copyright (c) 1999-2010, http://www.harbour-project.org/
Compiling 'MINHALIB.PRG'...
Lines 3307, Functions/Procedures 54
Generating C source output to 'MINHALIB.c'... Done.
MINHALIB.c:
TLIB 4.5 Copyright (c) 1987, 1999 Inprise Corporation
/P128 MINHALIB.lib -+ MINHALIB.objWarning: 'MINHALIB' not found in library

e depois de eu compilar ela como eu coloco ela pra roda junto com o programa na hora de compilar...
Vlw e obrigado pela atenção
Avatar do usuário
Toledo
Administrador
Administrador
Mensagens: 3133
Registrado em: 22 Jul 2003 18:39
Localização: Araçatuba - SP
Contato:

Re: Criar uma lib com o harbour

Mensagem por Toledo »

Amigo, tente o seguinte:

Código: Selecionar todos

hbmk2 MINHALIB.PRG -hblib -oNomeLib.lib
Depois na hora de compilar seu programa, use o parâmetro -l para relacionar a nova lib.

Código: Selecionar todos

hbmk2 meuprograma.prg -lNomeLib -oNomeExe.exe
Abraços,
Toledo - Clipper On Line
toledo@pctoledo.com.br
Harbour 3.2/MiniGui/HwGui
Faça uma doação para o fórum, clique neste link: http://www.pctoledo.com.br/doacao
jamazevedo
Usuário Nível 3
Usuário Nível 3
Mensagens: 122
Registrado em: 29 Dez 2005 16:50
Localização: Manaus - AM

Re: Criar uma lib com o harbour

Mensagem por jamazevedo »

Meu caro faça assim:
  1. crie um arquivo texto, por exemplo: minhalib.hbp
  • no conteúdo dele digite o seguinte:

Código: Selecionar todos

# opcoes de compilação
-inc
-hblib
# nome da lib
-ominhalib
# prg's que fazem parte da lib
rotinas.prg
calculadora.prg
cidades.prg
estados.prg
...
...
  • salve o arquivo
  • no prompt de comando compile-o assim: hbmk2 minhalib.hbp
Pronto sua lib já pode ser licada que seus outros fontes.
No meu caso, como uso linux, é criado um arquivo libminhalib.a.
______________________________________________________
Usando: Linux Ubuntu 18.04, Harbour 3.2.0dev r1811161533
______________________________________________________
José Airton de Menezes Azevedo
Manaus - AM
wagnervidal
Usuário Nível 1
Usuário Nível 1
Mensagens: 27
Registrado em: 21 Out 2010 11:35
Localização: Araguari/MG

Re: Criar uma lib com o harbour

Mensagem por wagnervidal »

A lib eu consegui criar, agora quando eu vo compilar o sistema aparece isso:

Código: Selecionar todos

C:\Meus documentos\Projetos fontes\sistema>hbmk2 Sistema.PRG -lMinhalib.lib -oSi
stema.exe
Harbour 2.1.0beta3 (Rev. 15959)
Copyright (c) 1999-2011, http://harbour-project.org/
Compiling 'Sistema.PRG'...
Lines 596, Functions/Procedures 4
Generating C source output to 'C:\DOCUME~1\Pessoal\CONFIG~1\Temp\hbmk_43g6y8.dir
\Sistema.c'... Done.
C:\DOCUME~1\Pessoal\CONFIG~1\Temp\hbmk_43g6y8.dir\Sistema.c:
Turbo Incremental Link 5.00 Copyright (c) 1997, 2000 Borland
Error: Unresolved external '_HB_FUN_ABRE_ARQ' referenced from C:\DOCUMENTS AND S
ETTINGS\PESSOAL\CONFIGURAÃıES LOCAIS\TEMP\HBMK_43G6Y8.DIR\SISTEMA.OBJ
Error: Unresolved external '_HB_FUN_SETSHADOW' referenced from C:\MEUS DOCUMENTO
S\PROJETOS FONTES\SISTEMA\MINHALIB.LIB|MINHALIB
Error: Unresolved external '_HB_FUN_ADI_REG' referenced from C:\MEUS DOCUMENTOS\
PROJETOS FONTES\SISTEMA\MINHALIB.LIB|MINHALIB
Error: Unresolved external '_HB_FUN_BLO_REG' referenced from C:\MEUS DOCUMENTOS\
PROJETOS FONTES\SISTEMA\MINHALIB.LIB|MINHALIB
Error: Unresolved external '_HB_FUN_ATTRTOA' referenced from C:\MEUS DOCUMENTOS\
PROJETOS FONTES\SISTEMA\MINHALIB.LIB|MINHALIB
Error: Unresolved external '_HB_FUN_LOAGRAF' referenced from C:\MEUS DOCUMENTOS\
PROJETOS FONTES\SISTEMA\MINHALIB.LIB|MINHALIB
Error: Unresolved external '_HB_FUN_VISUAL' referenced from C:\MEUS DOCUMENTOS\P
ROJETOS FONTES\SISTEMA\MINHALIB.LIB|MINHALIB
Error: Unresolved external '_HB_FUN_ALERTA' referenced from C:\MEUS DOCUMENTOS\P
ROJETOS FONTES\SISTEMA\MINHALIB.LIB|MINHALIB
Error: Unresolved external '_HB_FUN_FLRESET' referenced from C:\MEUS DOCUMENTOS\
PROJETOS FONTES\SISTEMA\MINHALIB.LIB|MINHALIB
Error: Unresolved external '_HB_FUN_MAKESHADOW' referenced from C:\MEUS DOCUMENT
OS\PROJETOS FONTES\SISTEMA\MINHALIB.LIB|MINHALIB
Error: Unresolved external '_HB_FUN_SHADOWTYPE' referenced from C:\MEUS DOCUMENT
OS\PROJETOS FONTES\SISTEMA\MINHALIB.LIB|MINHALIB
Error: Unresolved external '_HB_FUN_MENU_SIMPLES' referenced from C:\MEUS DOCUME
NTOS\PROJETOS FONTES\SISTEMA\MINHALIB.LIB|MINHALIB
Error: Unresolved external '_HB_FUN_FLDIGITAL' referenced from C:\MEUS DOCUMENTO
S\PROJETOS FONTES\SISTEMA\MINHALIB.LIB|MINHALIB
Error: Unresolved external '_HB_FUN_FLAVANTGRD' referenced from C:\MEUS DOCUMENT
OS\PROJETOS FONTES\SISTEMA\MINHALIB.LIB|MINHALIB
Error: Unresolved external '_HB_FUN_FL3270' referenced from C:\MEUS DOCUMENTOS\P
ROJETOS FONTES\SISTEMA\MINHALIB.LIB|MINHALIB
Error: Unresolved external '_HB_FUN_FLBROADWAY' referenced from C:\MEUS DOCUMENT
OS\PROJETOS FONTES\SISTEMA\MINHALIB.LIB|MINHALIB
Error: Unresolved external '_HB_FUN_FLCYRILLIC' referenced from C:\MEUS DOCUMENT
OS\PROJETOS FONTES\SISTEMA\MINHALIB.LIB|MINHALIB
Error: Unresolved external '_HB_FUN_FLPERCY' referenced from C:\MEUS DOCUMENTOS\
PROJETOS FONTES\SISTEMA\MINHALIB.LIB|MINHALIB
Error: Unresolved external '_HB_FUN_FLLEGEND' referenced from C:\MEUS DOCUMENTOS
\PROJETOS FONTES\SISTEMA\MINHALIB.LIB|MINHALIB
Error: Unresolved external '_HB_FUN_FLCALLIGRA' referenced from C:\MEUS DOCUMENT
OS\PROJETOS FONTES\SISTEMA\MINHALIB.LIB|MINHALIB
Error: Unresolved external '_HB_FUN_FLSCRIPT2' referenced from C:\MEUS DOCUMENTO
S\PROJETOS FONTES\SISTEMA\MINHALIB.LIB|MINHALIB
Error: Unresolved external '_HB_FUN_FLBAUHAUS' referenced from C:\MEUS DOCUMENTO
S\PROJETOS FONTES\SISTEMA\MINHALIB.LIB|MINHALIB
Error: Unresolved external '_HB_FUN_FLBODONI' referenced from C:\MEUS DOCUMENTOS
\PROJETOS FONTES\SISTEMA\MINHALIB.LIB|MINHALIB
Error: Unresolved external '_HB_FUN_FLSCRIPT1' referenced from C:\MEUS DOCUMENTO
S\PROJETOS FONTES\SISTEMA\MINHALIB.LIB|MINHALIB
Error: Unresolved external '_HB_FUN_FLGARAMOND' referenced from C:\MEUS DOCUMENT
OS\PROJETOS FONTES\SISTEMA\MINHALIB.LIB|MINHALIB
Error: Unresolved external '_HB_FUN_FLPARKAVE' referenced from C:\MEUS DOCUMENTO
S\PROJETOS FONTES\SISTEMA\MINHALIB.LIB|MINHALIB
Error: Unresolved external '_HB_FUN_FLCOMPUTER' referenced from C:\MEUS DOCUMENT
OS\PROJETOS FONTES\SISTEMA\MINHALIB.LIB|MINHALIB
Error: Unresolved external '_HB_FUN_FLGREEK' referenced from C:\MEUS DOCUMENTOS\
PROJETOS FONTES\SISTEMA\MINHALIB.LIB|MINHALIB
Error: Unresolved external '_HB_FUN_FLHEBREW' referenced from C:\MEUS DOCUMENTOS
\PROJETOS FONTES\SISTEMA\MINHALIB.LIB|MINHALIB
Error: Unresolved external '_HB_FUN_FLITALIC1' referenced from C:\MEUS DOCUMENTO
S\PROJETOS FONTES\SISTEMA\MINHALIB.LIB|MINHALIB
Error: Unresolved external '_HB_FUN_FLITALIC2' referenced from C:\MEUS DOCUMENTO
S\PROJETOS FONTES\SISTEMA\MINHALIB.LIB|MINHALIB
Error: Unresolved external '_HB_FUN_FLROMANY' referenced from C:\MEUS DOCUMENTOS
\PROJETOS FONTES\SISTEMA\MINHALIB.LIB|MINHALIB
Error: Unresolved external '_HB_FUN_FLOLDENG' referenced from C:\MEUS DOCUMENTOS
\PROJETOS FONTES\SISTEMA\MINHALIB.LIB|MINHALIB
Error: Unresolved external '_HB_FUN_CLS' referenced from C:\MEUS DOCUMENTOS\PROJ
ETOS FONTES\SISTEMA\MINHALIB.LIB|MINHALIB
Error: Unresolved external '_HB_FUN_ATOATTR' referenced from C:\MEUS DOCUMENTOS\
PROJETOS FONTES\SISTEMA\MINHALIB.LIB|MINHALIB
Error: Unresolved external '_HB_FUN_CORRECAO' referenced from C:\DOCUMENTS AND S
ETTINGS\PESSOAL\CONFIGURAÃıES LOCAIS\TEMP\HBMK_43G6Y8.DIR\SISTEMA.OBJ
Error: Unresolved external '_HB_FUN_MENU_LIN' referenced from C:\DOCUMENTS AND S
ETTINGS\PESSOAL\CONFIGURAÃıES LOCAIS\TEMP\HBMK_43G6Y8.DIR\SISTEMA.OBJ
hbmk2: Erro: Executando linkeditor. 2
ilink32.exe @C:\DOCUME~1\Pessoal\CONFIG~1\Temp\c6sfib.lnk
C:\Meus documentos\Projetos fontes\sistema>
e uma outra curiosidade no clipper eu uso assim

#include "button.ch"
#include "inkey.ch"
#include "llibg.ch"
SET EXCLUSIVE OFF
SET SCOR OFF
SET BELL OFF
SET WRAP ON
SET TALK OFF
SET DATE BRITISH
SET CENTURY ON
SETSHADOW(.T.)
no harbour tb precisa?
wagnervidal
Usuário Nível 1
Usuário Nível 1
Mensagens: 27
Registrado em: 21 Out 2010 11:35
Localização: Araguari/MG

Re: Criar uma lib com o harbour

Mensagem por wagnervidal »

Os erros eu acho que é por causa de uns prg que eu esqueci de coloca na lib..
Agora a respeito dos .ch o que eu coloco pra compilar com o harbour pra que seje compativel com o clipper

Vlw
Responder