Error al Compilar Clipper 5.03

HMG en Español

Moderator: Rathinagiri

User avatar
AidTIC
Posts: 93
Joined: Mon Apr 22, 2013 8:29 am
DBs Used: DBF
Been thanked: 3 times
Contact:

Error al Compilar Clipper 5.03

Post by AidTIC » Thu Jan 10, 2019 11:36 am

Hola y gracias por adelantado.

llevo ya tiempo haciendo mis pinitos con HMG, y me he preguntado si podría compilar el programa que hice en Clipper 5.03 con HBMK2, para que me funcionaran en equipos de 64 bits, con la intención de tocar el menos código fuente posible.

y me esta dando el siguiente error, por lo que pido si me podéis orientar.

Os pongo el fichero .hbp que gasto


+ + + + + + + +

Hello and thank you in advance.

I have been doing my steps with HMG for some time, and I have asked myself if I could compile the program I did in Clipper 5.03 with HBMK2, so that they would work on 64-bit computers, with the intention of touching as little source code as possible.

and is giving me the following error, so I ask if you can guide me.
I put the file .hbp that I spend


fichero .hbp

Code: Select all

ASIEOPER.prg
ASIECOMP.prg
CONSRECI.prg
CONSVENT.prg
CONSFACT.prg
CONSEXPE.prg
COMPSERV.prg
COMPEXPE.prg
COMPHUEC.prg
CONSMOVI.prg
CREAINDI.prg
DESEEXPE.prg
DESEUNEX.prg
ENLAEXPE.prg
ENLAMOVI.prg
EMISCHEQ.prg
EXPECLIE.prg
EXPESERV.prg
EXPEIMPO.prg
EXTRCUEN.prg
FUNCEXPE.prg
GESTBONO.prg
GESTBSPS.prg
GESTRENF.prg
GENEDOCU.prg
GENEEMIS.prg
GESTCHEQ.prg
INGRDEVO.prg
MANTCUSU.prg
MANTTCOM.prg
MANTEXPE.prg
MENUPRIN.prg
PROGPRIN.prg
PROGFICH.prg
REGEEXPE.prg
RECAEXPE.prg
REGECAJA.prg
REORFIC1.prg
SALIRDOS.prg
VACIFIC1.prg
EXPODATO.prg
IMPODATO.prg
libre\LUTIGENE.prg
libre\LINIPRIN.prg
libre\LFUNPRIN.prg
libre\LMODPRIN.prg
libre\LPANGENE.prg
libre\LGENGENE.prg
libre\LENTGENE.prg
libre\LAYUGENE.prg
libre\LCONGENE.prg
libre\LBUSGENE.prg
libre\LIMPGENE.prg
libre\LFICGENE.prg

Y el error que me da:

Code: Select all

Harbour 3.2.0dev (r1703241902)
Copyright (c) 1999-2016, http://harbour-project.org/
C:/Users/Martin/AppData/Local/Temp/hbmk_wdr5ak.dir/PROGPRIN.o:PROGPRIN.c:(.data+0xb8): undefined reference to `HB_FUN_OL_AUTOYIELD'
C:/Users/Martin/AppData/Local/Temp/hbmk_wdr5ak.dir/LUTIGENE.o:LUTIGENE.c:(.data+0x348): undefined reference to `HB_FUN_LF_FERROR'
C:/Users/Martin/AppData/Local/Temp/hbmk_wdr5ak.dir/LUTIGENE.o:LUTIGENE.c:(.data+0x378): undefined reference to `HB_FUN_FT_INT86'
C:/Users/Martin/AppData/Local/Temp/hbmk_wdr5ak.dir/LUTIGENE.o:LUTIGENE.c:(.data+0x388): undefined reference to `HB_FUN_LL_ISBITON'
C:/Users/Martin/AppData/Local/Temp/hbmk_wdr5ak.dir/LUTIGENE.o:LUTIGENE.c:(.data+0x3b8): undefined reference to `HB_FUN_LF_SUPPORT'
C:/Users/Martin/AppData/Local/Temp/hbmk_wdr5ak.dir/LUTIGENE.o:LUTIGENE.c:(.data+0x3c8): undefined reference to `HB_FUN__LFPARSE'
C:/Users/Martin/AppData/Local/Temp/hbmk_wdr5ak.dir/LUTIGENE.o:LUTIGENE.c:(.data+0x3d8): undefined reference to `HB_FUN__LFPARSEDTA'
C:/Users/Martin/AppData/Local/Temp/hbmk_wdr5ak.dir/LUTIGENE.o:LUTIGENE.c:(.data+0x408): undefined reference to `HB_FUN_LF_LIBVERS'
C:/Users/Martin/AppData/Local/Temp/hbmk_wdr5ak.dir/LUTIGENE.o:LUTIGENE.c:(.data+0x418): undefined reference to `HB_FUN_LL_LIBVERS'
collect2.exe: error: ld returned 1 exit status
hbmk2[ProgPrin]: Error: Ejecutando enlazador. 1
gcc.exe C:/Users/Martin/AppData/Local/Temp/hbmk_wdr5ak.dir/ASIEOPER.o C:/Users/Martin/AppData/Local/Temp/hbmk_wdr5ak.dir/ASIECOMP.o C:/Users/Martin/AppData/Local/Temp/hbmk_wdr5ak.dir/CONSRECI.o C:/Users/Martin/AppData/Local/Temp/hbmk_wdr5ak.dir/CONSVENT.o C:/Users/Martin/AppData/Local/Temp/hbmk_wdr5ak.dir/CONSFACT.o C:/Users/Martin/AppData/Local/Temp/hbmk_wdr5ak.dir/CONSEXPE.o C:/Users/Martin/AppData/Local/Temp/hbmk_wdr5ak.dir/COMPSERV.o C:/Users/Martin/AppData/Local/Temp/hbmk_wdr5ak.dir/COMPEXPE.o C:/Users/Martin/AppData/Local/Temp/hbmk_wdr5ak.dir/COMPHUEC.o C:/Users/Martin/AppData/Local/Temp/hbmk_wdr5ak.dir/CONSMOVI.o C:/Users/Martin/AppData/Local/Temp/hbmk_wdr5ak.dir/CREAINDI.o C:/Users/Martin/AppData/Local/Temp/hbmk_wdr5ak.dir/DESEEXPE.o C:/Users/Martin/AppData/Local/Temp/hbmk_wdr5ak.dir/DESEUNEX.o C:/Users/Martin/AppData/Local/Temp/hbmk_wdr5ak.dir/ENLAEXPE.o C:/Users/Martin/AppData/Local/Temp/hbmk_wdr5ak.dir/ENLAMOVI.o C:/Users/Martin/AppData/Local/Temp/hbmk_wdr5ak.dir/EMISCHEQ.o C:/Users/Martin/AppData/Local/Temp/hbmk_wdr5ak.dir/EXPECLIE.o C:/Users/Martin/AppData/Local/Temp/hbmk_wdr5ak.dir/EXPESERV.o C:/Users/Martin/AppData/Local/Temp/hbmk_wdr5ak.dir/EXPEIMPO.o C:/Users/Martin/AppData/Local/Temp/hbmk_wdr5ak.dir/EXTRCUEN.o C:/Users/Martin/AppData/Local/Temp/hbmk_wdr5ak.dir/FUNCEXPE.o C:/Users/Martin/AppData/Local/Temp/hbmk_wdr5ak.dir/GESTBONO.o C:/Users/Martin/AppData/Local/Temp/hbmk_wdr5ak.dir/GESTBSPS.o C:/Users/Martin/AppData/Local/Temp/hbmk_wdr5ak.dir/GESTRENF.o C:/Users/Martin/AppData/Local/Temp/hbmk_wdr5ak.dir/GENEDOCU.o C:/Users/Martin/AppData/Local/Temp/hbmk_wdr5ak.dir/GENEEMIS.o C:/Users/Martin/AppData/Local/Temp/hbmk_wdr5ak.dir/GESTCHEQ.o C:/Users/Martin/AppData/Local/Temp/hbmk_wdr5ak.dir/INGRDEVO.o C:/Users/Martin/AppData/Local/Temp/hbmk_wdr5ak.dir/MANTCUSU.o C:/Users/Martin/AppData/Local/Temp/hbmk_wdr5ak.dir/MANTTCOM.o C:/Users/Martin/AppData/Local/Temp/hbmk_wdr5ak.dir/MANTEXPE.o C:/Users/Martin/AppData/Local/Temp/hbmk_wdr5ak.dir/MENUPRIN.o C:/Users/Martin/AppData/Local/Temp/hbmk_wdr5ak.dir/PROGPRIN.o C:/Users/Martin/AppData/Local/Temp/hbmk_wdr5ak.dir/PROGFICH.o C:/Users/Martin/AppData/Local/Temp/hbmk_wdr5ak.dir/REGEEXPE.o C:/Users/Martin/AppData/Local/Temp/hbmk_wdr5ak.dir/RECAEXPE.o C:/Users/Martin/AppData/Local/Temp/hbmk_wdr5ak.dir/REGECAJA.o C:/Users/Martin/AppData/Local/Temp/hbmk_wdr5ak.dir/REORFIC1.o C:/Users/Martin/AppData/Local/Temp/hbmk_wdr5ak.dir/SALIRDOS.o C:/Users/Martin/AppData/Local/Temp/hbmk_wdr5ak.dir/VACIFIC1.o C:/Users/Martin/AppData/Local/Temp/hbmk_wdr5ak.dir/EXPODATO.o C:/Users/Martin/AppData/Local/Temp/hbmk_wdr5ak.dir/IMPODATO.o C:/Users/Martin/AppData/Local/Temp/hbmk_wdr5ak.dir/LUTIGENE.o C:/Users/Martin/AppData/Local/Temp/hbmk_wdr5ak.dir/LINIPRIN.o C:/Users/Martin/AppData/Local/Temp/hbmk_wdr5ak.dir/LFUNPRIN.o C:/Users/Martin/AppData/Local/Temp/hbmk_wdr5ak.dir/LMODPRIN.o C:/Users/Martin/AppData/Local/Temp/hbmk_wdr5ak.dir/LPANGENE.o C:/Users/Martin/AppData/Local/Temp/hbmk_wdr5ak.dir/LGENGENE.o C:/Users/Martin/AppData/Local/Temp/hbmk_wdr5ak.dir/LENTGENE.o C:/Users/Martin/AppData/Local/Temp/hbmk_wdr5ak.dir/LAYUGENE.o C:/Users/Martin/AppData/Local/Temp/hbmk_wdr5ak.dir/LCONGENE.o C:/Users/Martin/AppData/Local/Temp/hbmk_wdr5ak.dir/LBUSGENE.o C:/Users/Martin/AppData/Local/Temp/hbmk_wdr5ak.dir/LIMPGENE.o C:/Users/Martin/AppData/Local/Temp/hbmk_wdr5ak.dir/LFICGENE.o C:/Users/Martin/AppData/Local/Temp/hbmk_wdr5ak.dir/hbmk_ubfdjv.o "D:/OneDrive/Programacion HMG/Programacion/GESTAGEN.FUE/_temp.o"    -pthread  -static-libgcc  -static-libstdc++  -static -lpthread -mwindows -Wl,--start-group -lhmg -lcrypt -ledit -leditex -lgraph -lini -lreport -lhfcl -lmsvfw32 -lvfw32 -lhbmysql -lmysql -lhbfimage -lhbpgsql -lsddmy -lhbvpdf -lhbct -lhbwin -lhbmzip -lminizip -lhbmemio -lhbmisc -lhbtip -lsqlite3 -lhbsqlit3 -lsddodbc -lrddsql -lhbodbc -lodbc32 -lhbhpdf -lhbnetio -lxhb -lpng -llibhpdf -lhbzebra -lhbextern -lhbdebug -lhbvmmt -lhbrtl -lhblang -lhbcpage -lgtcgi -lgtpca -lgtstd -lgtwin -lgtwvt -lgtgui -lhbrdd -lhbuddall -lhbusrrdd -lrddntx -lrddcdx -lrddnsx -lrddfpt -lhbrdd -lhbhsx -lhbsix -lhbmacro -lhbcplr -lhbpp -lhbcommon -lhbmainwin -lkernel32 -luser32 -lgdi32 -ladvapi32 -lws2_32 -liphlpapi -lwinspool -lcomctl32 -lcomdlg32 -lshell32 -luuid -lole32 -loleaut32 -lmpr -lwinmm -lmapi32 -limm32 -lmsimg32 -lwininet -lhbpcre -lhbzlib   -Wl,--end-group -oProgPrin.exe  -LC:/hmg.3.4.4/harbour/lib/win/mingw -LC:/hmg.3.4.4/lib

hbmk2: Sugerencia: A¤ade la opci¢n 'hbnf.hbc' para las funciones que faltan:
       ft_int86()
hbmk2: Sugerencia: A¤ade la opci¢n 'hboslib.hbc' para las funciones que faltan:
       OL_AutoYield()
hbmk2: Error: Funci¢n(es) referenciada, no encontrada, pero desconocida:
       LF_FERROR(), LL_ISBITON(), LF_SUPPORT(), _LFPARSE(), _LFPARSEDTA(),
       LF_LIBVERS(), LL_LIBVERS()
Skydone Solutions
www.skydone.com

User avatar
mustafa
Posts: 781
Joined: Fri Mar 20, 2009 11:38 am
DBs Used: DBF
Location: Alicante - Spain
Been thanked: 108 times
Contact:

Post by mustafa » Thu Jan 10, 2019 1:11 pm

Hola AidTIC
Para Compilarcon HMG en modo Consola
Hay que Poner al principio del Prg principal

#include "hmg.ch"
REQUEST HB_GT_WIN_DEFAULT // <--- Siempre tienes que colocar en el Prg Principal antes que Function Main
Function Main
..... etc. ..... etc.

Mira estos Post
http://www.hmgforum.com/viewtopic.php?f ... afa#p54441

en el fichero fichero .hbp
Hay que añadir :
hbnf.hbc
hboslib.hbc

y revisa en Errores
hbmk2: Error: Funci¢n(es) referenciada, no encontrada, pero desconocida:
LF_FERROR(), LL_ISBITON(), LF_SUPPORT(), _LFPARSE(), _LFPARSEDTA(),
LF_LIBVERS(), LL_LIBVERS()

es un poco complicado encontrar la solución ?

Saludos
Mustafa

User avatar
AidTIC
Posts: 93
Joined: Mon Apr 22, 2013 8:29 am
DBs Used: DBF
Been thanked: 3 times
Contact:

Post by AidTIC » Mon Jan 14, 2019 8:47 am

Estas funciones esttan en la libreria LFN.LIB.
como la puedo incluir en la compilacion?

These functions are in the library LFN.LIB.
How can I include it in the compilation?
Skydone Solutions
www.skydone.com

User avatar
dragancesu
Posts: 614
Joined: Mon Jun 24, 2013 11:53 am
DBs Used: DBF, MySQL, Oracle
Location: Subotica, Serbia
Has thanked: 19 times
Been thanked: 116 times

Post by dragancesu » Mon Jan 14, 2019 9:14 am

No simple way, this is clipper library

Harbour and HMG use another library version, extention is .a, it's for C

1. if you have source of lfn.lib, you can make lfn.a (imposible)
2. rewite useful functions (very hard)
3. found similar function in Harbour/HMG (optimal solution)

But, this library is for dos program when work under windows
This does not necessarily mean that there is also support for the DOS LFN services, which are what we must use from inside a DOS application to get the same functionality. And unfortunately Microsoft "forgot" to add that kind of support in the NTVDM (the NT Virtual DOS Machine) on NT-versions prior to Windows 2000, so there is no official way to use the LFN Library in that environment. However, there is something called "The LFN Services for Windows NT 4.0" which claims to solve this problem, at least to some extent.
Better forgot this library and go to HMG

User avatar
AidTIC
Posts: 93
Joined: Mon Apr 22, 2013 8:29 am
DBs Used: DBF
Been thanked: 3 times
Contact:

Post by AidTIC » Mon Jan 14, 2019 12:08 pm

Ok, arreglado.

El problema ahora es que las variables, aunque las defino como PUBLIC, me dicen "Error BASE/1003 Variable does not exist: PANTGENE", aunque la he definido al inicio del programa.
Cuando entra a la funcion "CONFPROG" es donde me dice que no existe

Ok, fixed.

The problem now is that the variables, although I define them as PUBLIC, tell me "Error BASE / 1003 Variable does not exist: PANTGENE", although I defined it at the beginning of the program.
When he enters the "CONFPROG" function, he tells me that he does not exist


Code: Select all

#include "hmg.ch"
REQUEST HB_GT_WIN_DEFAULT
CLEAR SCREEN

OL_AutoYield( .T. )
SET EPOCH TO 1995
PUBLIC PANTGENE
PUBLIC PALER1, TALER1, VALER1, VALER2


WAIT "0"
CONFPROG()
WAIT "00"
Skydone Solutions
www.skydone.com

User avatar
mustafa
Posts: 781
Joined: Fri Mar 20, 2009 11:38 am
DBs Used: DBF
Location: Alicante - Spain
Been thanked: 108 times
Contact:

Post by mustafa » Mon Jan 14, 2019 3:57 pm

Creo que falta FUNCTION Main

Code: Select all

#include "hmg.ch"
REQUEST HB_GT_WIN_DEFAULT     
Function Main
........ etc etc
Lo siento hace tiempo que deje Clipper

Saludos
Mustafa

User avatar
SALINETAS24
Posts: 273
Joined: Tue Feb 27, 2018 3:06 am
DBs Used: DBF
Has thanked: 6 times
Been thanked: 12 times

Post by SALINETAS24 » Mon Jan 14, 2019 6:12 pm

Hola AidTIC, tal y como dice el amigo MUSTAFA te falta la FUNC MAIN o la PROC MAIN.

Yo también tuve problemas con la definición de variables, por algún motivo que desconozco es necesario que en HARBOUR y HGM el programa tenga obligatoriamente un primer procedimiento antes de declarar las variables. Es más, inmediatamente después de la PROC o FUNCION tendrás que declarar las variables, primero las LOCAL, y después las PUBLIC o te cascara..., por lo menos a mi me pasa.
Tu PRG quedaría algo así.

Code: Select all

#include "hmg.ch"
REQUEST HB_GT_WIN_DEFAULT
CLEAR SCREEN

PROCEDURE MAIN
LOCAL cPrueba:="Sargantana Soft"
PUBLIC PANTGENE
PUBLIC PALER1, TALER1, VALER1, VALER2
OL_AutoYield( .T. )
SET EPOCH TO 1995

WAIT "0"
CONFPROG()
WAIT "00"

User avatar
dragancesu
Posts: 614
Joined: Mon Jun 24, 2013 11:53 am
DBs Used: DBF, MySQL, Oracle
Location: Subotica, Serbia
Has thanked: 19 times
Been thanked: 116 times

Post by dragancesu » Tue Jan 15, 2019 1:44 pm

Try PUBLIC PANTGENE:= 'a' // or PANTGENE := 0 --- set initial values

User avatar
AidTIC
Posts: 93
Joined: Mon Apr 22, 2013 8:29 am
DBs Used: DBF
Been thanked: 3 times
Contact:

Post by AidTIC » Tue Jan 15, 2019 6:38 pm

Perfecto, con "PROCEDURE MAIN"

Muchas Gracias


Perfect, with "PROCEDURE MAIN"

Thank you so much
Skydone Solutions
www.skydone.com

User avatar
AidTIC
Posts: 93
Joined: Mon Apr 22, 2013 8:29 am
DBs Used: DBF
Been thanked: 3 times
Contact:

Post by AidTIC » Wed Jan 16, 2019 2:01 pm

Me queda un detalle, y es que en mi aplicación gastos caracteres especiales para ASCII, que al iniciar me los pinta bien, pero utlizo SAVE SCREEN y ahora cuando hago el RESTORE SCREEN, los Caracteres Extendidos de ascii me los cambia por ????? también el "BOXSHADOW", La Sombra me la pone con "?"

Sabéis que pueda ser?

He probado con :


I have one detail, and in my application is spending special characters for ASCII, which at the beginning I paint them well, but I use SAVE SCREEN and now when I do the RESTORE SCREEN, the Ascii Extended Characters change them for ???? ? also the "BOXSHADOW", La Sombra puts it with "?"

Do you know what it could be?

I have tried with:

SAVE SCREEN TO PANTGENE
RESTORE SCREEN FROM PANTGENE


y con

PANTGENE := SaveScreen(0,0,24,79)
RestScreen(0,0,24,79,PANTGENE

Image

Image

Image
Attachments
Captura1.JPG
Captura1.JPG (44.58 KiB) Viewed 267 times
Captura2.JPG
Captura2.JPG (70.57 KiB) Viewed 267 times
Captura4.JPG
Captura4.JPG (56.89 KiB) Viewed 267 times
Skydone Solutions
www.skydone.com

Post Reply