Como criar LIB de funções usando a IDE HMG 3
Moderador: Moderadores
Como criar LIB de funções usando a IDE HMG 3
Bom dia aos mestres. Coloquei esta função apenas como exemplo Pablo. apesar de que, lendo os tópicos fiquei encorajado que o harbour seria 100% compatível com o cenário em que meus sistemas foram produzidos em clipper 5.3, independentemente se as funções utilizam interrupções antigas. Estou tentando recompilar em HMG primeiro os sistemas sem fazer alterações, em modo texto, para depois começar a fazer atualizações. Tenho outras funções de lib escritas em "C" e meu objetivo era saber como se coloca funções escritas em "C" na lib, se através dos fontes .c ou de objs. Parece que está difícil.
Sds,
Sds,
Clipeiro a mais de 30 anos.Ainda chamando Harbour de "Senhor". Meu perfil no linkedin ->https://br.linkedin.com/pub/jarbas-torelli/29/691/ba9
-
Claudio Soto
- Colaborador

- Mensagens: 566
- Registrado em: 27 Ago 2012 12:31
- Localização: Uruguay
- Contato:
Como criar LIB de funções usando a IDE HMG 3
En forma muy general se hace así.jartos escreveu:Boa tarde mestres, preciso de vossa ajuda para colocar funções criadas em "C" em minha lib .a
Como devo proceder?
tenho os .obj e os fontes em "C"
EX:
#include "extend.h"
#include "bios.h"
CLIPPER l_isprn(void);
CLIPPER l_isprn()
{
unsigned dados;
_retl(_bios_printer(_PRINTER_STATUS,_parni(1)-1,dados)==0x90);
}
Código: Selecionar todos
Function Main
? Mi_Suma (9, 24) // retorna 33
Return Nil
#pragma BEGINDUMP // Comienzo del código en C
#include "hbapi.h"
HB_FUNC ( MI_SUMA ) // atención el nombre de la función en C debe estar siempre en mayúsculas
{
int Num1 = hb_parni (1);
int Num2 = hb_parni (2);
hb_retni ( Num1 + Num2 );
}
#pragma ENDDUMP // Fin del código en C
-
Claudio Soto
- Colaborador

- Mensagens: 566
- Registrado em: 27 Ago 2012 12:31
- Localização: Uruguay
- Contato:
Como criar LIB de funções usando a IDE HMG 3
Harbour es 100% compatible con Clipper, pero el uso de código a abajo nivel para acceder al hardware depende del sistema operativo no de Clipper, Harbour o de cualquier otro lenguaje, por ejemplo, en DOS era muy frecuente utilizar las interrupciones de software y de hardware para crear programas residentes en memoria, leer el teclado, crear timers, hacer animaciones gráficas, etc, pero en Windows esto no es posible, para ello hay que utilizar las funciones apropiadas del API.jartos escreveu:Bom dia aos mestres. Coloquei esta função apenas como exemplo Pablo. apesar de que, lendo os tópicos fiquei encorajado que o harbour seria 100% compatível com o cenário em que meus sistemas foram produzidos em clipper 5.3, independentemente se as funções utilizam interrupções antigas. Estou tentando recompilar em HMG primeiro os sistemas sem fazer alterações, em modo texto, para depois começar a fazer atualizações. Tenho outras funções de lib escritas em "C" e meu objetivo era saber como se coloca funções escritas em "C" na lib, se através dos fontes .c ou de objs. Parece que está difícil.
Sds,
Como criar LIB de funções usando a IDE HMG 3
Sou agradecido Claudio, pelas suas explicações. Como ficaria essa função que coloquei no exemplo em Harbour? Assim?
Código: Selecionar todos
#pragma BEGINDUMP
#include "hbapi.h"
HB_FUNC L_ISPRN(void);
{
unsigned dados;
_retl(_bios_printer(_PRINTER_STATUS,_parni(1)-1,dados)==0x90);
}
#pragma ENDDUMP
Clipeiro a mais de 30 anos.Ainda chamando Harbour de "Senhor". Meu perfil no linkedin ->https://br.linkedin.com/pub/jarbas-torelli/29/691/ba9
-
Claudio Soto
- Colaborador

- Mensagens: 566
- Registrado em: 27 Ago 2012 12:31
- Localização: Uruguay
- Contato:
Como criar LIB de funções usando a IDE HMG 3
La función anterior quedaría así:jartos escreveu:Sou agradecido Claudio, pelas suas explicações. Como ficaria essa função que coloquei no exemplo em Harbour? Assim?
Código: Selecionar todos
#pragma BEGINDUMP #include "hbapi.h" HB_FUNC L_ISPRN(void); { unsigned dados; _retl(_bios_printer(_PRINTER_STATUS,_parni(1)-1,dados)==0x90); } #pragma ENDDUMP
Código: Selecionar todos
#pragma BEGINDUMP
#include "hbapi.h"
HB_FUNC ( L_ISPRN )
{
unsigned dados = 0;
hb_retl ( _bios_printer (_PRINTER_STATUS, hb_parni(1)-1, dados) == 0x90 );
}
#pragma ENDDUMP
-
microvolution
- Usuário Nível 5

- Mensagens: 1231
- Registrado em: 02 Set 2011 22:17
- Contato:
Como criar LIB de funções usando a IDE HMG 3
Olá clippeiros, ou melhor harboueiros rsrrs, bom dia!
Achei esse tópico procurando o contrário de criar uma MINHALIB.a, pois estou na verdade querendo abrir/editar algumas LIBs originais da HMG 3.0.xx; fazer as alterações necessárias e depois recompilá-las.
É possível isso ser feito?
Onde estão os fontes das LIBs da paasta HMG\LIB?
Vlw!
Achei esse tópico procurando o contrário de criar uma MINHALIB.a, pois estou na verdade querendo abrir/editar algumas LIBs originais da HMG 3.0.xx; fazer as alterações necessárias e depois recompilá-las.
É possível isso ser feito?
Onde estão os fontes das LIBs da paasta HMG\LIB?
Vlw!
Grato,
MICROVOLUTION - 16 anos Evoluindo Com Você!
Você já leu a Bíblia hoje?
João 3:16 - Porque Deus amou ao mundo de tal maneira que deu seu Único Filho para que todo aquele que nEle crê não pereça mas tenha a Vida Eterna!
MICROVOLUTION - 16 anos Evoluindo Com Você!
Você já leu a Bíblia hoje?
João 3:16 - Porque Deus amou ao mundo de tal maneira que deu seu Único Filho para que todo aquele que nEle crê não pereça mas tenha a Vida Eterna!
- Toledo
- Administrador

- Mensagens: 3133
- Registrado em: 22 Jul 2003 18:39
- Localização: Araçatuba - SP
- Contato:
Como criar LIB de funções usando a IDE HMG 3
Amigo, tanto o Harbour, como a MiniGui e HMG são de código aberto, então você pode alterar e compilar novamente. No caso da MiniGui, os códigos fontes estão na seguinte pasta:
HMG Oficial:
C:\hmg.3.0.35\SOURCE
ou na versão mais recente:
C:\hmg.3.4.0\SOURCE
Para compilar use o arquivo BuildAllLib.bat que está na pasta principal da HMG.
MiniGui Extended:
C:\MiniGUI_2_4_6\SOURCE
Para compilar use o arquivo MakeAllLibs.bat que está na pasta C:\MiniGUI_2_4_6\SOURCE.
Abraços,
HMG Oficial:
C:\hmg.3.0.35\SOURCE
ou na versão mais recente:
C:\hmg.3.4.0\SOURCE
Para compilar use o arquivo BuildAllLib.bat que está na pasta principal da HMG.
MiniGui Extended:
C:\MiniGUI_2_4_6\SOURCE
Para compilar use o arquivo MakeAllLibs.bat que está na pasta C:\MiniGUI_2_4_6\SOURCE.
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
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
-
microvolution
- Usuário Nível 5

- Mensagens: 1231
- Registrado em: 02 Set 2011 22:17
- Contato:
Como criar LIB de funções usando a IDE HMG 3
OBRIGADO pela tão rápida resposta.
Então, um exemplo:
O arquivo LIBHMG.A da pasta HMG\LIB é qual ou são quais da pasta HMG\SOURCE que V.Sa. se refere para que possa compilá-lo novamente?
Então, um exemplo:
O arquivo LIBHMG.A da pasta HMG\LIB é qual ou são quais da pasta HMG\SOURCE que V.Sa. se refere para que possa compilá-lo novamente?
Grato,
MICROVOLUTION - 16 anos Evoluindo Com Você!
Você já leu a Bíblia hoje?
João 3:16 - Porque Deus amou ao mundo de tal maneira que deu seu Único Filho para que todo aquele que nEle crê não pereça mas tenha a Vida Eterna!
MICROVOLUTION - 16 anos Evoluindo Com Você!
Você já leu a Bíblia hoje?
João 3:16 - Porque Deus amou ao mundo de tal maneira que deu seu Único Filho para que todo aquele que nEle crê não pereça mas tenha a Vida Eterna!
- Toledo
- Administrador

- Mensagens: 3133
- Registrado em: 22 Jul 2003 18:39
- Localização: Araçatuba - SP
- Contato:
Como criar LIB de funções usando a IDE HMG 3
Segue abaixo a lista de arquivos que geram a libhmg.a:
Abraços,
source/ErrorSys.prg
source/h_browse.prg
source/h_button.prg
source/h_checkbox.prg
source/h_combo.prg
source/h_controlmisc.prg
source/h_datepicker.prg
source/h_dialogs.prg
source/h_editbox.prg
source/h_error.prg
source/h_font.prg
source/h_frame.prg
source/h_grid.prg
source/h_help.prg
source/h_hotkey.prg
source/h_image.prg
source/h_init.prg
source/h_ipaddress.prg
source/h_label.prg
source/h_listbox.prg
source/h_media.prg
source/h_menu.prg
source/h_monthcal.prg
source/h_msgbox.prg
source/h_progressbar.prg
source/h_radio.prg
source/h_richeditbox.prg
source/h_rptgen.prg
source/h_slider.prg
source/h_spinner.prg
source/h_status.prg
source/h_tab.prg
source/h_textbox.prg
source/h_timer.prg
source/h_tole.prg
source/h_toolbar.prg
source/h_tree.prg
source/h_winapimisc.prg
source/h_windows.prg
source/c_browse.c
source/c_button.c
source/c_checkbox.c
source/c_combo.c
source/c_controlmisc.c
source/c_datepicker.c
source/c_dialogs.c
source/c_editbox.c
source/c_font.c
source/c_frame.c
source/c_grid.c
source/c_help.c
source/c_hotkey.c
source/c_image.c
source/c_ipaddress.c
source/c_label.c
source/c_listbox.c
source/c_media.c
source/c_menu.c
source/c_monthcal.c
source/c_msgbox.c
source/c_progressbar.c
source/c_radio.c
source/c_resource.c
source/c_richeditbox.c
source/c_slider.c
source/c_spinner.c
source/c_status.c
source/c_tab.c
source/c_textbox.c
source/c_timer.c
source/c_tole.c
source/c_toolbar.c
source/c_tree.c
source/c_winapimisc.c
source/c_windows.c
microvolution escreveu:para que possa compilá-lo novamente?
Após fazer as suas alterações, para criar a libhmg.a novamente, basta executar o arquivo BuildAllLib.batToledo escreveu:Para compilar use o arquivo BuildAllLib.bat que está na pasta principal da HMG.
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
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
-
microvolution
- Usuário Nível 5

- Mensagens: 1231
- Registrado em: 02 Set 2011 22:17
- Contato:
Como criar LIB de funções usando a IDE HMG 3
legal Toledo...
percebi que os arquivos HMG.HBP e HMG.HBC são os responsáveis pela LIBHMG.
Agora esse arquivo BUILDallLIB.BAT não existe em nenhum lugar da HMG 3.0.35. Ele somente existe na HMG 3.0.46 (são as 2 versões que possuo aqui).
Outra coisa, como o próprio nome já diz tudo 'buildALLlib.bat' irá recompilar todas as LIBS originais da HMG 3.0.46.
Então, como só quero a LIBHMG.A recompilada, criei uma cópia do BUILDALLLIB.BAT, eliminei a maioria de suas linhas, renomeei-o para BUILDLIBHMG.BAT.
As dúvidas são:
1 - o HMG.HBP tá legal (aparentemente no meu pouco conhecimento) e o HMG.HBC parece-me que está se referindo à todas as LIBs;
2 - esse tal BUILDHMGLIB.BAT nos testes que fiz aqui de recompilação funciona na HMG 3.0.46, mas, na 3.0.35 ele não gera a LIBHMG.A.
Seguem os códigos de cada um dos 3 arquivos aqui referidos, para que V.Sa. (Toledo) ou quaisquer dos "ninjas" vejam o que está errado:
BUILDHMG.BAT
HMG.HBP
HMG.HBC
percebi que os arquivos HMG.HBP e HMG.HBC são os responsáveis pela LIBHMG.
Agora esse arquivo BUILDallLIB.BAT não existe em nenhum lugar da HMG 3.0.35. Ele somente existe na HMG 3.0.46 (são as 2 versões que possuo aqui).
Outra coisa, como o próprio nome já diz tudo 'buildALLlib.bat' irá recompilar todas as LIBS originais da HMG 3.0.46.
Então, como só quero a LIBHMG.A recompilada, criei uma cópia do BUILDALLLIB.BAT, eliminei a maioria de suas linhas, renomeei-o para BUILDLIBHMG.BAT.
As dúvidas são:
1 - o HMG.HBP tá legal (aparentemente no meu pouco conhecimento) e o HMG.HBC parece-me que está se referindo à todas as LIBs;
2 - esse tal BUILDHMGLIB.BAT nos testes que fiz aqui de recompilação funciona na HMG 3.0.46, mas, na 3.0.35 ele não gera a LIBHMG.A.
Seguem os códigos de cada um dos 3 arquivos aqui referidos, para que V.Sa. (Toledo) ou quaisquer dos "ninjas" vejam o que está errado:
BUILDHMG.BAT
Código: Selecionar todos
@echo off
@ECHO RECOMPILANDO A 'LIBHMG.A'
SET HMGPATH=%~dp0
SET PATH=%HMGPATH%\harbour\bin;%HMGPATH%\mingw\bin;%PATH%
hbmk2 hmg.hbpCódigo: Selecionar todos
-hblib
-inc
-olib/hmg
-Iinclude
-D__HBIDE__
-w0 -es2
#source/ErrorSys.prg
source/h_browse.prg
source/h_button.prg
source/h_checkbox.prg
source/h_combo.prg
source/h_controlmisc.prg
source/h_datepicker.prg
source/h_dialogs.prg
source/h_editbox.prg
source/h_error.prg
source/h_font.prg
source/h_frame.prg
source/h_grid.prg
source/h_help.prg
source/h_hotkey.prg
source/h_image.prg
source/h_init.prg
source/h_ipaddress.prg
source/h_label.prg
source/h_listbox.prg
source/h_media.prg
source/h_menu.prg
source/h_monthcal.prg
source/h_msgbox.prg
source/h_progressbar.prg
source/h_radio.prg
source/h_richeditbox.prg
source/h_rptgen.prg
source/h_slider.prg
source/h_spinner.prg
source/h_status.prg
source/h_tab.prg
source/h_textbox.prg
source/h_timer.prg
source/h_tole.prg
source/h_toolbar.prg
source/h_tree.prg
source/h_winapimisc.prg
source/h_windows.prg
source/c_browse.c
source/c_button.c
source/c_checkbox.c
source/c_combo.c
source/c_controlmisc.c
source/c_datepicker.c
source/c_dialogs.c
source/c_editbox.c
source/c_font.c
source/c_frame.c
source/c_grid.c
source/c_help.c
source/c_hotkey.c
source/c_image.c
source/c_ipaddress.c
source/c_label.c
source/c_listbox.c
source/c_media.c
source/c_menu.c
source/c_monthcal.c
source/c_msgbox.c
source/c_progressbar.c
source/c_radio.c
source/c_resource.c
source/c_richeditbox.c
source/c_slider.c
source/c_spinner.c
source/c_status.c
source/c_tab.c
source/c_textbox.c
source/c_timer.c
source/c_tole.c
source/c_toolbar.c
source/c_tree.c
source/c_winapimisc.c
source/c_windows.cCódigo: Selecionar todos
# paths
incpaths=/.
incpaths=include
libpaths=lib
# main hmg libs
libs=hmg
libs=crypt
libs=edit
libs=editex
libs=graph
libs=hfcl
libs=ini
libs=report
# system libs
libs=msvfw32
libs=vfw32
# harbour contrib libs
libs=hbct
libs=hbwin
libs=hbmzip
libs=minizip
libs=hbmemio
libs=hbmisc
libs=hbmysql
libs=mysql
libs=hbtip
libs=sqlite3
libs=hbsqlit3
libs=sddodbc
libs=rddsql
libs=sddmy
libs=hbodbc
libs=odbc32
libs=hbhpdf
libs=hbfimage
libs=hbpgsql
libs=hbnetio
libs=xhb
libs=png
libs=libhpdf
libs=hbvpdf
# link compiled resources
sources=${hb_curdir}_temp.oGrato,
MICROVOLUTION - 16 anos Evoluindo Com Você!
Você já leu a Bíblia hoje?
João 3:16 - Porque Deus amou ao mundo de tal maneira que deu seu Único Filho para que todo aquele que nEle crê não pereça mas tenha a Vida Eterna!
MICROVOLUTION - 16 anos Evoluindo Com Você!
Você já leu a Bíblia hoje?
João 3:16 - Porque Deus amou ao mundo de tal maneira que deu seu Único Filho para que todo aquele que nEle crê não pereça mas tenha a Vida Eterna!
-
microvolution
- Usuário Nível 5

- Mensagens: 1231
- Registrado em: 02 Set 2011 22:17
- Contato:
Como criar LIB de funções usando a IDE HMG 3
OPA... mais uma informação:
1 - dentro do arquivo HMG.HBP (que copiei da HMG 3.0.46, pois na 3.0.35 também ele não existia), faz referência ao arquivo H_TOLE.PRG que não existe na HMG 3.0.35,somente existe na 3.0.46.
2 - comentei-o assim: #source\h_tole.prg
3 - excluí a pasta .HBMK;
4 - apareceram um montão de mensagens de erro de HB_FUN_XXXXXXXXXX, char *, himl, e outras que subiram na telado CMD.EXE ao executar o arquivo BUILDlibHMG.BAT (que fiz). São muitos anos que não mexo com MSDOS que não me lembro mais como fazer com que (nesse caso do .BAT) a gente possa rolar a tela e ver o que já passou.
Espero que alguém me apresente outra solução, pois explico o que pretendo com essa recompilação da LIBHMG.A:
O arquivo PCTERROR.PRG baixado e que está funcionando perfeitamente do tópico original (SUA TELA ERROSYS TE ASSUSTA?) quero substituí-lo pelo ERRORSYS.PRG da referida lib gráfica.
Pois se eu colocar no meu MAIN.PRG o #INCLUDE 'HMG.CH' o HMG 3.0.xx informa uma duplicidade de ERRORSYS.
Então, quero recompilar a LIBHMG.A sem a ERRORSYS.PRG original ou substituí-la pela PCTERROR.PRG.
Pois percebo que a ERRORSYS.PRG original da lib gráfica HMG.CH (LIBHMG) tem uma aparência de modo gráfico e, fuçando aqui, pude perceber que é possível ter em MODO CONSOLE, rotinas internas do nosso aplicativo funcionalidades ou telas em MODO GRÁFICO.
Vejam um exemplo no seguinte tópico:
https://pctoledo.org/forum/viewto ... 717#p96717
Bom, espero que tenham entendido minhas tentativas de melhoria da aparência do meu aplicativo que está migrado em modo console.
rsrs...
1 - dentro do arquivo HMG.HBP (que copiei da HMG 3.0.46, pois na 3.0.35 também ele não existia), faz referência ao arquivo H_TOLE.PRG que não existe na HMG 3.0.35,somente existe na 3.0.46.
2 - comentei-o assim: #source\h_tole.prg
3 - excluí a pasta .HBMK;
4 - apareceram um montão de mensagens de erro de HB_FUN_XXXXXXXXXX, char *, himl, e outras que subiram na telado CMD.EXE ao executar o arquivo BUILDlibHMG.BAT (que fiz). São muitos anos que não mexo com MSDOS que não me lembro mais como fazer com que (nesse caso do .BAT) a gente possa rolar a tela e ver o que já passou.
Espero que alguém me apresente outra solução, pois explico o que pretendo com essa recompilação da LIBHMG.A:
O arquivo PCTERROR.PRG baixado e que está funcionando perfeitamente do tópico original (SUA TELA ERROSYS TE ASSUSTA?) quero substituí-lo pelo ERRORSYS.PRG da referida lib gráfica.
Pois se eu colocar no meu MAIN.PRG o #INCLUDE 'HMG.CH' o HMG 3.0.xx informa uma duplicidade de ERRORSYS.
Então, quero recompilar a LIBHMG.A sem a ERRORSYS.PRG original ou substituí-la pela PCTERROR.PRG.
Pois percebo que a ERRORSYS.PRG original da lib gráfica HMG.CH (LIBHMG) tem uma aparência de modo gráfico e, fuçando aqui, pude perceber que é possível ter em MODO CONSOLE, rotinas internas do nosso aplicativo funcionalidades ou telas em MODO GRÁFICO.
Vejam um exemplo no seguinte tópico:
https://pctoledo.org/forum/viewto ... 717#p96717
Bom, espero que tenham entendido minhas tentativas de melhoria da aparência do meu aplicativo que está migrado em modo console.
rsrs...
Grato,
MICROVOLUTION - 16 anos Evoluindo Com Você!
Você já leu a Bíblia hoje?
João 3:16 - Porque Deus amou ao mundo de tal maneira que deu seu Único Filho para que todo aquele que nEle crê não pereça mas tenha a Vida Eterna!
MICROVOLUTION - 16 anos Evoluindo Com Você!
Você já leu a Bíblia hoje?
João 3:16 - Porque Deus amou ao mundo de tal maneira que deu seu Único Filho para que todo aquele que nEle crê não pereça mas tenha a Vida Eterna!
- Toledo
- Administrador

- Mensagens: 3133
- Registrado em: 22 Jul 2003 18:39
- Localização: Araçatuba - SP
- Contato:
Como criar LIB de funções usando a IDE HMG 3
Amigo, meu primeiro conselho é que você faça uma cópia total desta sua pasta da HMG 3.0.35, por medida de segurança, caso ocorra algum problema na compilação da lib e também para preservar os códigos fontes originais da HMG. Assim, se as alterações que você fizer no código da HMG não derem certos, os arquivos originais estarão salvos.
Outro detalhe importante, sempre que você for instalar uma versão da HMG, de preferência, procure fazer a instalação na pasta default, que geralmente é direto na unidade raiz e na pasta HMG, por exemplo: C:\hmg.3.0.35 ou C:\hmg.3.0.46, etc.
ATENÇÃO: então os passos seguintes é presumindo que a sua HMG esteja instalada na pasta C:\hmg.3.0.35
Não precisa disto, delete estes arquivos também.
Mantenha os arquivos originais da versão 3.0.35, qualquer outro que você tenha copiado de outras versão, delete.
Lembrando: os passos abaixo é referente aos arquivos originais da versão 3.0.35 considerando que ela esteja instalado na pasta original c:\hmg.3.0.35
1 - Editar o arquivo makehmg.bat que está na pasta c:\hmg.3.0.35\source, procure por:
set HmgPath=c:\hmg
e troque por:
set HmgPath=c:\hmg.3.0.35
Obs.: depois de editado, salve e feche o arquivo.
2 - Editar o arquivo makefile.gcc que está na pasta c:\hmg.3.0.35\source, procure por:
HRB_DIR = c:/hmg/harbour
INC_DIR = c:/hmg/include
OBJ_DIR = c:/hmg/obj
LIB_DIR = c:/hmg/lib
SRC_DIR = c:/hmg/source
e troque por:
HRB_DIR = c:/hmg.3.0.35/harbour
INC_DIR = c:/hmg.3.0.35/include
OBJ_DIR = c:/hmg.3.0.35/obj
LIB_DIR = c:/hmg.3.0.35/lib
SRC_DIR = c:/hmg.3.0.35/source
Também salve e feche o arquivo.
3 - Para compilar a libhmg novamente, pelo prompt do DOS, entre na pasta c:\hmg.3.0.35\source e digite:
makehmg
Se tudo estiver correto, os arquivos originais, a pasta de instalação default e também as alterações que você fizer no código fonte, se tudo isto estiver sem erros, com o comando acima a libhmg deverá ser criada e gravada na pasta c:\hmg.3.0.35\lib.
Bom, qualquer problema que venha a ocorrer, basta restaurar os arquivos originais da HMG que foram salvos por medida de segurança.
Outra coisa muito importante: dependendo das alterações feitas na código fonte original da HMG, pode comprometer a libhmg de funcionar corretamente em modo gráfico, tome muito cuidado com isto.
Abraços,
Outro detalhe importante, sempre que você for instalar uma versão da HMG, de preferência, procure fazer a instalação na pasta default, que geralmente é direto na unidade raiz e na pasta HMG, por exemplo: C:\hmg.3.0.35 ou C:\hmg.3.0.46, etc.
ATENÇÃO: então os passos seguintes é presumindo que a sua HMG esteja instalada na pasta C:\hmg.3.0.35
Na versão 3.0.35 original não existe estes arquivos HMG.HBP e HMG.HBC, então se você copiou estes arquivos de uma outra versão, delete os arquivos da pasta da hmg.3.0.35, pois eles não serão utilizados com esta versão 3.0.35.microvolution escreveu:percebi que os arquivos HMG.HBP e HMG.HBC são os responsáveis pela LIBHMG.
microvolution escreveu:criei uma cópia do BUILDALLLIB.BAT, eliminei a maioria de suas linhas, renomeei-o para BUILDLIBHMG.BAT
Não precisa disto, delete estes arquivos também.
Mantenha os arquivos originais da versão 3.0.35, qualquer outro que você tenha copiado de outras versão, delete.
Neste caso, faça o seguinte:microvolution escreveu:como só quero a LIBHMG.A recompilada
Lembrando: os passos abaixo é referente aos arquivos originais da versão 3.0.35 considerando que ela esteja instalado na pasta original c:\hmg.3.0.35
1 - Editar o arquivo makehmg.bat que está na pasta c:\hmg.3.0.35\source, procure por:
set HmgPath=c:\hmg
e troque por:
set HmgPath=c:\hmg.3.0.35
Obs.: depois de editado, salve e feche o arquivo.
2 - Editar o arquivo makefile.gcc que está na pasta c:\hmg.3.0.35\source, procure por:
HRB_DIR = c:/hmg/harbour
INC_DIR = c:/hmg/include
OBJ_DIR = c:/hmg/obj
LIB_DIR = c:/hmg/lib
SRC_DIR = c:/hmg/source
e troque por:
HRB_DIR = c:/hmg.3.0.35/harbour
INC_DIR = c:/hmg.3.0.35/include
OBJ_DIR = c:/hmg.3.0.35/obj
LIB_DIR = c:/hmg.3.0.35/lib
SRC_DIR = c:/hmg.3.0.35/source
Também salve e feche o arquivo.
3 - Para compilar a libhmg novamente, pelo prompt do DOS, entre na pasta c:\hmg.3.0.35\source e digite:
makehmg
Se tudo estiver correto, os arquivos originais, a pasta de instalação default e também as alterações que você fizer no código fonte, se tudo isto estiver sem erros, com o comando acima a libhmg deverá ser criada e gravada na pasta c:\hmg.3.0.35\lib.
Bom, qualquer problema que venha a ocorrer, basta restaurar os arquivos originais da HMG que foram salvos por medida de segurança.
Outra coisa muito importante: dependendo das alterações feitas na código fonte original da HMG, pode comprometer a libhmg de funcionar corretamente em modo gráfico, tome muito cuidado com isto.
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
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
-
microvolution
- Usuário Nível 5

- Mensagens: 1231
- Registrado em: 02 Set 2011 22:17
- Contato:
Como criar LIB de funções usando a IDE HMG 3
oBRIGADOOOOOOOOOOOOO!
Deu tudo certo!
Deu tudo certo!
Grato,
MICROVOLUTION - 16 anos Evoluindo Com Você!
Você já leu a Bíblia hoje?
João 3:16 - Porque Deus amou ao mundo de tal maneira que deu seu Único Filho para que todo aquele que nEle crê não pereça mas tenha a Vida Eterna!
MICROVOLUTION - 16 anos Evoluindo Com Você!
Você já leu a Bíblia hoje?
João 3:16 - Porque Deus amou ao mundo de tal maneira que deu seu Único Filho para que todo aquele que nEle crê não pereça mas tenha a Vida Eterna!
