Compiling errors

Moderator: Rathinagiri

Post Reply
fabiusong
Posts: 4
Joined: Mon Aug 18, 2014 5:31 am

Compiling errors

Post by fabiusong »

I have been using Ca Clipper for 20 years and work as a programmer at a trading house, unfortunately there is difficult to find hardware can support it anymore, because most of the Pc using 64bits. So I try download the HMG and compiled it but get error from the link.

So I really need some help from HMG forum member can give me some idea why I cannot compile it, but if I use Ca-clipper 'Rmake' it, it is okay.

The building error log:
Cannot open STFREC.prg, assumed external
Cannot open STFREP.prg, assumed external
Cannot open STFHKP.prg, assumed external
Cannot open ORDERS_MENU.prg, assumed external
Cannot open RPTORDER.prg, assumed external
Cannot open Z1.prg, assumed external
Cannot open RPAR_MENU.prg, assumed external
Cannot open ENQ.prg, assumed external
Cannot open SCH.prg, assumed external
Cannot open OFFERPERIOD.prg, assumed external
Cannot open GOODSRTN.prg, assumed external
Cannot open QUES.prg, assumed external
Cannot open RPTRTN.prg, assumed external
Cannot open RORECV.prg, assumed external
Cannot open RMPL.prg, assumed external
Cannot open RPRICE.prg, assumed external
Cannot open RSVR.prg, assumed external
Cannot open RMSM.prg, assumed external
Cannot open RZYTD.prg, assumed external
Cannot open RZERO.prg, assumed external
Cannot open RPCW1.prg, assumed external
Cannot open RSTORE.prg, assumed external
Cannot open POSREP.prg, assumed external
Cannot open ENQ_2.prg, assumed external
Cannot open MADDMENU.prg, assumed external
Cannot open SetMaMi.prg, assumed external
Cannot open RELEASEZ.prg, assumed external
Cannot open SALCODE.prg, assumed external
Cannot open EDISALE_REPO.prg, assumed external
Cannot open TRCH.prg, assumed external
Cannot open INCEMANCAL.prg, assumed external
Cannot open YCS_SLIP.prg, assumed external
Cannot open UpdaMoSa.prg, assumed external
Cannot open MADD.prg, assumed external

Actually this is not program file, but procedure or function inside a few program files.


Last time I am using clipper RMAKE to compile the program files as below.

Rmake BKI

CA clipper rmk file
// BKI.RMK

// inference rule for compiling
.prg.obj:
clipper $** /W /N /M /A /B
///m /a /n /W /b
// dependency statements for .obj files
bki.obj: bki.prg
CALCOM.OBJ: CALCOM.PRG
custage.obj: custage.prg
custmenu.obj: custmenu.prg
debinote.obj: debinote.prg
debtbrfo.obj: debtbrfo.prg
debtcred.obj: debtcred.prg
debtstat.obj: debtstat.prg
deliorde.obj: deliorde.prg
dsrmenu.obj: dsrmenu.prg
houskeep.obj: houskeep.prg
INCOMING.OBJ: INCOMING.PRG
invoice.obj: invoice.prg
LVIEW.OBJ: LVIEW.PRG
LV1.OBJ: LV1.PRG
LVIEW3.OBJ: LVIEW3.PRG
menu.obj: menu.prg
ordemenu.obj: ordemenu.prg
ordeentr.obj: ordeentr.prg
PARTN1.OBJ: PARTN1.PRG
PACKDEPT.OBJ: PACKDEPT.PRG
POSORDER.OBJ: POSORDER.PRG
POSDELIV.OBJ: POSDELIV.PRG
POSTINCO.OBJ: POSTINCO.PRG
purgrece.obj: purgrece.prg
purgdebi.obj: purgdebi.prg
purgcred.obj: purgcred.prg
purgretu.obj: purgretu.prg
prinpaor.obj: prinpaor.prg
princuor.obj: princuor.prg
recvmenu.obj: recvmenu.prg
reporder.obj: reporder.prg
rzpar.obj: rzpar.prg
rpar3.obj: rpar3.prg
retuinwa.obj: retuinwa.prg
receentr.obj: receentr.prg
rkbrow.obj: rkbrow.prg
remolock.obj: remolock.prg
STORTRAN.OBJ: STORTRAN.PRG
STORNOTE.OBJ: STORNOTE.PRG
suppmenu.obj: suppmenu.prg
suppage.obj: suppage.prg
TBDEMO.OBJ: TBDEMO.PRG
transfer.obj: transfer.prg
tranorde.obj: tranorde.prg
updaOvDu.obj: updaOvdu.prg
utility.obj: utility.prg

// dependency rule for linking .obj to .exe
bki.exe: bki.obj menu.obj dsrmenu.obj recvmenu.obj reporder.obj rzpar.obj\
rpar3.obj ordemenu.obj ordeentr.obj deliorde.obj invoice.obj utility.obj\
retuinwa.obj receentr.obj debinote.obj debtstat.obj debtcred.obj PARTN1.OBJ\
houskeep.obj debtbrfo.obj updaovdu.obj suppmenu.obj suppage.obj custage.obj\
custmenu.obj purgrece.obj purgdebi.obj purgcred.obj purgretu.obj POSTINCO.OBJ\
prinpaor.obj princuor.obj rkbrow.obj remolock.obj calcom.obj transfer.obj\
tranorde.obj LVIEW.OBJ LV1.OBJ POSORDER.OBJ POSDELIV.OBJ INCOMING.OBJ\
PACKDEPT.OBJ STORTRAN.OBJ STORNOTE.OBJ LVIEW3.OBJ TBDEMO.OBJ
EXOSPACE Output $(@) @bki

CA clipper lnk file
bki.lnk
fi bki
fi custmenu
fi custage
FI CALCOM
fi debtbrfo
fi dsrmenu
fi deliorde
fi debinote
fi debtcred
fi debtstat
FI LVIEW
FI LV1
FI LVIEW3
fi houskeep
fi invoice
FI INCOMING
fi menu
fi ordemenu
fi ordeentr
FI PACKDEPT
FI PARTN1
FI POSORDER
FI POSDELIV
FI POSTINCO
fi purgrece
fi purgdebi
fi purgcred
fi purgretu
fi prinpaor
fi princuor
fi retuinwa
fi receentr
fi recvmenu
fi reporder
fi rzpar
fi rpar3
fi rkbrow
fi remolock
fi suppmenu
fi suppage
FI STORTRAN
FI STORNOTE
FI TBDEMO
fi transfer
fi tranorde
fi updaovdu
fi utility

I hope you can teach me how to compile it and run it together.

Thank you very much

Javier Tovar
Posts: 1275
Joined: Tue Sep 03, 2013 4:22 am
Location: Tecámac, México
Has thanked: 1 time
Been thanked: 2 times

Post by Javier Tovar »

Bienvenido a HMG!

Saludos

P.D.: No tengo yo experiencia en Clipper, esperemos que alguien te pueda auxiliar!

fabiusong
Posts: 4
Joined: Mon Aug 18, 2014 5:31 am

Post by fabiusong »

Javier Tovar wrote:Bienvenido a HMG!

Saludos

P.D.: No tengo yo experiencia en Clipper, esperemos que alguien te pueda auxiliar!

Can you please translate into english.
Thank you

User avatar
danielmaximiliano
Posts: 2359
Joined: Fri Apr 09, 2010 4:53 pm
Location: Argentina
Has thanked: 435 times
Been thanked: 84 times
Contact:

Post by danielmaximiliano »

Hi :
a good idea is to use the IDE to compile, just run the IDE, create a new project in the folder where you have all your source files.
by default the IDE automatically generate 2 files.
Main.prg and Main.Fmg
from the Project menu utilize "Delete File" Modulo Main.prg seleccioneel previously.
also delete the FORM Main.Fmg for it select it from the Project Browser, Forms.

Now from the Menu, project file and add your principial code "BKI.PRG" well and all the files that make up your project.

Menu Proyect, Import file


add these lines to BKI.PRG

Code: Select all

# include "hmg.ch"
Main Function
SetMode (25.80)
  REQUEST HB_GT_WIN_DEFAULT
....
youcode ....
....
Nil Return
try to compile the project, it should work without any problem since I run my project clipper.
*´¨)
¸.·´¸.·*´¨) ¸.·*¨)
(¸.·´. (¸.·` *
.·`. Harbour/HMG : It's magic !
(¸.·``··*

Saludos / Regards
DaNiElMaXiMiLiAnO

Whatsapp. := +54901169026142
Telegram Name := DaNiElMaXiMiLiAnO

User avatar
bpd2000
Posts: 1179
Joined: Sat Sep 10, 2011 4:07 am
Location: India
Has thanked: 263 times
Been thanked: 154 times

Post by bpd2000 »

Welcome from India

Change SetMode (25.80) to SetMode (25,80) in above stated code
BPD
Convert Dream into Reality through HMG

fabiusong
Posts: 4
Joined: Mon Aug 18, 2014 5:31 am

Post by fabiusong »

*#INCLUDE "OWN.H"
#include <hmg.ch>
*REQUEST HB_GT_WIN_DEFAULT
#include "inkey.ch"
*#COMMAND SELECT <FileName> =>;
* if ( SELECT(<'FileName'>) != 0 ) ;
* ; dbSelectArea( <(FileName)> ) ;
* ; end
#include "button.ch"
MEMVAR NLEVEL,CPASS,CUSERIDEN,CUSERPAWO,LSALESMAOPEN,LCUSTOMEROPEN,LSUPPLIEROPEN,;
LORDEOPEN,LMODIDATAOPEN,LOPENDATA2,LSCHEDULE,LOPENMENUFILE,LEDIDATAOPEN,;
LNEWDATAOPEN,LCASHSAHEOPEN,LCASHSAITOPEN,LORDEITEMOPEN,LORDEHEADOPEN,;
LINCOMIOPEN,LPURCHAOPEN,LORDEH1OPEN,LDELIITEMOPEN,LPURCITEMOPEN,LTRANFEROPEN,;
LHSHDEHEOPEN,LHSHTRANOPEN,LHSHINVOOPEN,LPANADEHEOPEN,LPANAINVOOPEN,;
LZCODOPEN,LRETUINITOPEN,LRETUINHEOPEN,LONPRIN,LDEBINOTEOPEN,LDEBTCRHEOPEN,;
LDEBTCRITOPEN,LRECEHEADOPEN,LRECEITEMOPEN,LTEMPORIT,LTEMPDEIT,LTEMPINVO,;
LTEMPINIT,LTEMPSTAT,LTEMORDER,LJUNK,CNAME,CUSERNAME2,CADD1,CADD2,CADD3,;
CTEL,CFAX,LCALL,TEMPORIT,TEMPDEIT,TEMPINVO,TEMPINIT,TEMPSTAT,TEMORDER,;
JUNK,LDELIPAK,DRUNDATE,VNCODE,VCODE,CDATE,VDATE,LNEW,W1,GETLIST,;
CTIMEOUT,CTIMEIN,CDAY,CSTAFF,ZZ,NORDER,NCOLLEC,CTEXT,CPRINT,CCUSTCODE,;
CAREA,CETD,CREC,CFOR,CORD2,CORD,NAMT,LF7,VPART,CPOS,CPART,CCODE,CLOCATION,;
CBILL,CREM,CSHOP,CSTATUS,CCHECKER,CTIME,NQTY,CREM2,CSUPER,CUSER,CACTION



Procedure bki
Local nCount, nRecoNumb, Temp,NCOL,NCOL2,ZAR,ADBF
SetMode (25,80)
REQUEST HB_GT_WIN_DEFAULT
*RUN C:
*SETCANCEL(.F.)
IF FILE("C:\WINDOWS\SYSTEM32\NET.EXE")
RUN C:\WINDOWS\SYSTEM32\NET TIME \\DELL1800 /SET /YES
ELSE
RUN NET TIME \\DELL1800 /SET /YES
ENDIF
*WAIT
*RUN NET DATE \\DELL1800 /SET /YES
CPOS = SPACE(10)
*RUN J:
*RUN CD\INV\STOCKDR
*RUN J:
SET EPOCH TO 1950
SET CENTURY ON
PUBLIC MvDATE
MVDATE=DATE()
Restore from MVAR ADDITIVE
*SET KEY K_F8 TO FILENAME()
Set Wrap On
SET INTENSITY ON
Set Confirm On
Set exact on
Set Delete On
Set Date to British

Set status off
Set scoreboard off
SET BELL ON

PUBLIC QCOUNT
nCount := 0
nLevel := 0

cPass := Space(10)
cUserIden := Space(10)
cUserPaWo = Space(10)

lSalesmaOpen := .F.
lCustomerOpen := .F.
lSupplierOpen := .F.
lOrdeOpen := .F.
LMODIDATAOPEN := .F.
LOPENDATA2 := .F.
LSCHEDULE :=.F.
LOPENMENUFILE := .F.
lEdiDataOpen := .F.
lNewDataOpen := .F.
lCashSaHeOpen := .F.
lCashSaItOpen := .F.
lOrdeItemOpen := .F.
lOrdeHeadOpen := .F.
LINCOMIOPEN := .F.
LPURCHAOPEN := .F.
LORDEH1OPEN := .F.
lDeliItemOpen := .F.
LPURCITEMOPEN := .F.
lTranferOpen := .F.
lHshDeHeOpen := .F.
lHshTranOpen := .F.
lHshInvoOpen := .F.
lPanaDeHeOpen := .F.
lPanaInvoOpen := .F.

lZcodOpen = .F.
lRetuInItOpen = .F.
lRetuInHeOpen = .F.
lOnPrin = .F.
lDebiNoteOpen = .F.
lDebtCrHeOpen = .F.
lDebtCrItOpen = .F.

lReceHeadOpen = .F.
lReceItemOpen = .F.

lTempOrIt = .F.
lTempDeIt = .F.
lTempInvo = .F.
lTempInIt = .F.
lTempStat = .F.
LTEMORDER = .F.
LJUNK = .F.
CNAME := 'HUP SENG HENG PARTS SDN BHD (T.75531-W)' //37
*'HUP SENG HENG PARTS (SWK) SDN BHD (280341-P)' //43
* CNAME := 'HDK INDUSTRIES SDN BHD ( 275644-H)' //37
* CNAME :=
*
cUserName2 := ' WESTERN SB (T110438-W)'
CADD1 := ' '
cAdd2 := ''
cAdd3 := ''
cTel := 'Tel: '
cFax := 'Fax:'
USE RUNFILE SHARED NEW
IF AT('SWK',CNAME) > 0
RUN NET TIME \\SERVER1 /SET /YES
ENDIF
DRUNDATE := RUNFILE->DRUNDATE
SELE RUNFILE
USE
Save_Memory('Mvar')

Clear Screen
* OPENPASS()
Do while nCount < 3
* Restore from Mvar additive
Clear Screen
SET COLOR TO
lCall := .F.
* SKIP

@ 13,0 say Padc(CNAME,79)
NCOL :=(79-LEN(CNAME))/2
NCOL2 :=NCOL+LEN(CNAME)
@ 12,NCOL-2 to 14,NCOL2+1 double
DISPGREET()

Set console Off
Set cursor Off

Accept to cPass
ZcodOpen(.F.)
Select Zcod
cPass = SubStr(Padr(cPass,10),1,10)
Seek cPass
If found() .and. !Deleted()
Set cursor on
Set console On
CPOS = ZCOD->POSITION
nRecoNumb = Recno()
SET COLOR TO
Clear Screen
? chr(7)
If Val(SubStr(Time(),1,2)) < 12
@ 10,0 say Padc('Good morning!',79)
Elseif Val(SubStr(Time(),1,2)) < 18
@ 10,0 say Padc('Good afternoon!',79)
Else
@ 10,0 say Padc('Good evening!',79)
EndIF
Else
nCount += 1
ZcodClos()
Loop
Endif
cUserIden = cPass // Used to save to various header files
Set cursor off
Set console off
ZcodClos()
Accept to cPass
ZcodOpen(.F.) // ZcodOpen(.T.) 28.9.96 CHANGE TO .F.
Goto nRecoNumb
cPass = AllTrim(cPass)
If AllTrim(Zcod->UserPaWo) == cPass
nLevel = Zcod->Level
Else
nCount += 1
ZcodClos()
Loop
Endif
Inkey(0.5) // to make each user at least this far apart in login
If nLevel < 4 //.AND. NLEVEL > 2
ZcodClos()
Temp = Padl(AllTrim(Str(137*Seconds(),10,0)),7,'0')
TempOrIt := 'X'+Temp
TempDeIt = SubStr(TempOrIt,1,7)+'d'
TempInvo = SubStr(TempOrIt,1,7)+'i'
TempInIt = SubStr(TempOrIt,1,7)+'n'
TempStat = SubStr(TempOrIt,1,7)+'s'
TEMORDER = SUBSTR(TEMPORIT,1,7)+'O' //19.12
JUNK = SUBSTR(TEMPORIT,1,7)+'J' //12.4.95
SET COLOR TO
OrdeMenu()
ELSE
ZcodClos()
ALERT("LADIES AND GENTLEMEN, PLS DO NOT MISS AN IMPORTANT APPOINTMENT")
ALERT("OR ANY ROADTAX PUSPAKOM .....,PLS WRITE DOWN DUE DATE JOB")
CLS
IF ALLTRIM(CUSERIDEN) == 'SHIP'
@ 5,25 SAY 'WELCOME TO THE SHIPMENT SCHEDULE,'
zAr= { {'S_USER','USER'},{'S_ACTI','VESSEL '}, {'S_DAY', 'ETD' },;
{'S_TIME','ETA'},{'S_DATE', 'DATE RECV'},{'STAFF', 'REC BY'},;
{'TIMEIN','FORWARD BY'},{'TIMEOUT','ORDER NO '},{'CUSTCODE', 'VOY FT CON'},{'ACTION','COMPLETED'}}
ZAr =lV1( 10,5,22,77, ZAR,{'SCHEDULE','SCHEDULE'},CUSERIDEN)
ELSEIF ALLTRIM(CUSERIDEN) == 'LEAVE'
@ 5,25 SAY 'STAFF ON LEAVE TABLE'
zAr= { {'S_USER','USER'},{'S_ACTI','STAFF NAME '}, {'S_DATE', 'LEAVE DATE' },;
{'S_TIME','DATE UNTIL '}}
ZAr =lV1( 10,5,22,77, ZAR,{'SCHEDULE','SCHEDULE'},CUSERIDEN)
ELSEIF ALLTRIM(CUSERIDEN) == 'MBB' .OR. ALLTRIM(CUSERIDEN) == 'ALB' .OR. ;
ALLTRIM(CUSERIDEN) == 'UOB' .OR. ALLTRIM(CUSERIDEN) == 'MYB'
@ 5,25 SAY 'BANK B/A'
zAr= { {'S_USER','USER'},{'S_ACTI','BA NO '}, {'S_DATE', 'MATURE DATE' },;
{'S_TIME','APPLY DATE'},{'ORDER','RM '},{'CUSTCODE','SUPPLIER'}}
ZAr =lV1( 10,5,22,77, ZAR,{'SCHEDULE','SCHEDULE'},CUSERIDEN)
ELSEIF ALLTRIM(CUSERIDEN) == 'FD'
@ 5,25 SAY 'FIXED DEPOSIT'
zAr= { {'S_USER','USER'},{'S_ACTI','FD NO '}, {'S_DATE', 'MATURE DATE' },;
{'S_TIME','PURCHASE DATE'},{'ORDER','RM '},{'CUSTCODE','BANK'},{'ACTION','REMARK'}}
ZAr =lV1( 10,5,22,77, ZAR,{'SCHEDULE','SCHEDULE'},CUSERIDEN)
ELSE
@ 5,25 SAY 'WELCOME TO THE TIME SCHEDULE,'
@ 7,25 SAY 'PLEASE DO NOT MISS AN IMPORTANT APPOINTMENT !'
@ 9,25 SAY 'THIS SCHEDULE IS TENTATIVE AND SUBJECT TO CHANGE '
zAr= { {'S_USER','USER'},{'S_ACTI','ACTIVITIES'}, {'S_DATE', 'DATE' },{'S_DAY','DAY'}, {'S_TIME', 'TIME'}}
ZAr =lV1( 10,5,22,77, ZAR,{'SCHEDULE','SCHEDULE'}, CUSERIDEN+DTOS(DATE()))
ENDIF
IF ALLTRIM(CPOS) = 'SALESMAN'
@ 1,1 SAY 'OFFER PERIOD AND CONDITION FOR SALESMAN PLS INVOICE WITHIN PERIOD'
zAr= { {'S_USER','AUTHORISED'},{'OFFERITEM','OFFERITEM'}, {'S_DATE', 'DATE FROM' },{'TO_DATE','DATE UNTIL'}, {'REMARK', 'CONDITION'}}
ZAr =lV1( 2,2,22,77, ZAR,{'OFFERPER','OFFERPER'})
ENDIF
Temp = Padl(AllTrim(Str(100*Seconds(),10,0)),7,'0')
TempOrIt := 'X'+Temp
TempDeIt = SubStr(TempOrIt,1,7)+'d'
TempInvo = SubStr(TempOrIt,1,7)+'i'
TempInIt = SubStr(TempOrIt,1,7)+'n'
TempStat = SubStr(TempOrIt,1,7)+'s'
TEMORDER = SUBSTR(TEMPORIT,1,7)+'O' //19.12
JUNK = SUBSTR(TEMPORIT,1,7)+'J' //12.4.95
SET COLOR TO
do Menu //()
Endif

Enddo
*SET KEY K_F8 TO
* CLOSPASS()
Set console On
Set cursor On
ZCODCLOS()
SAVE_MEMORY('MVAR')
SET COLOR TO
CLS
CLOSE ALL
clear memory
release all
RELEASE CPU
Return


error message :
ot open RPTHEAD.prg, assumed external
Cannot open RPCW.prg, assumed external
Cannot open RPCL.prg, assumed external
Cannot open RPCW2.prg, assumed external
Cannot open RPCL2.prg, assumed external
Cannot open RPCL3.prg, assumed extern

k/win/mingw/bki.o:bki.c:(.text+0x220): first defined here
.hbmk/win/mingw/calcom.o:calcom.c:(.text+0x1c0): multiple definition of `HB_FUN_YRCOM'
.hbmk/win/mingw/bki.o:bki.c:(.text+0x240): first defined here
.hbmk/win/mingw/calcom.o:calcom.c:(.text+0x1e0): multiple definition of `HB_FUN_YEARSALMATABLE'
.hbmk/win/mingw/bki.o:bki.c:(.text+0x260): first defined here
.hbmk/win/mingw/calcom.o:calcom.c:(.text+0x200): multiple definition of `HB_FUN_MONSALMANTABLE'
.hbmk/win/mingw/bki.o:bki.c:(.text+0x280): first defined here
.hbmk/win/mingw/calcom.o:calcom.c:(.text+0x220): multiple definition of `HB_FUN_CALCOM1'

Running linker. 1
gcc.exe .hbmk/win/mingw/bki.o .hbmk/win/mingw/calcom.o .hbmk/win/mingw/custage.o .hbmk/win/mingw/custmenu.o .hbmk/win/mingw/debinote.o .hbmk/win/mingw/debtbrfo.o .hbmk/win/mingw/debtcred.o .hbmk/win/mingw/debtstat.o .hbmk/win/mingw/deliorde.o .hbmk/win/mingw/dsrmenu.o .hbmk/win/mingw/houskeep.o .hbmk/win/mingw/incoming.o .hbmk/win/mingw/invoice.o .hbmk/win/mingw/lv1.o .hbmk/win/mingw/lview.o .hbmk/win/mingw/lview3.o .hbmk/win/mingw/menu.o .hbmk/win/mingw/ordeentr.o .hbmk/win/mingw/ordemenu.o .hbmk/win/mingw/packdept.o .hbmk/win/mingw/partn1.o .hbmk/win/mingw/posdeliv.o .hbmk/win/mingw/posorder.o .hbmk/win/mingw/postinco.o .hbmk/win/mingw/princuor.o .hbmk/win/mingw/prinpaor.o .hbmk/win/mingw/purgcred.o .hbmk/win/mingw/purgdebi.o .hbmk/win/mingw/purgrece.o .hbmk/win/mingw/purgretu.o .hbmk/win/mingw/receentr.o .hbmk/win/mingw/recvmenu.o .hbmk/win/mingw/remolock.o .hbmk/win/mingw/reporder.o .hbmk/win/mingw/retuinwa.o .hbmk/win/mingw/rkbrow.o .hbmk/win/mingw/rpar3.o .hbmk/win/mingw/rzpar.o .hbmk/win/mingw/stornote.o .hbmk/win/mingw/stortran.o .hbmk/win/mingw/suppage.o .hbmk/win/mingw/suppmenu.o .hbmk/win/mingw/tbdemo.o .hbmk/win/mingw/tranorde.o .hbmk/win/mingw/transfer.o .hbmk/win/mingw/updaovdu.o .hbmk/win/mingw/utility.o .hbmk/win/mingw/_hbmkaut_bki.o C:/ONG/BKI/_temp.o -Wl,--nxcompat -Wl,--dynamicbase -mwindows -Wl,--start-group -lhmg -lcrypt -ledit -leditex -lgraph -lini -lreport -lhfcl -lmsvfw32 -lvfw32 -lhbct -lhbwin -lhbmzip -lminizip -lhbmemio -lhbmisc -lhbmysql -lmysql -lhbtip -lhbsqlit3 -lsddodbc -lrddsql -lsddmy -lhbodbc -lodbc32 -lhbhpdf -lhbfimage -lhbpgsql -lhbnetio -lxhb -lpng -llibhpdf -lhbvpdf -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 -omain.exe -LC:/hmg.3.3.1/harbour/lib/win/mingw -LC:/hmg.3.3.1/lib

hbmk2: Error: Referenced, missing, but unknown function(s): EDIOHTOSUSPEND(),
VIEWOFFERITEM(), CLOSDELIPAK(), OPENDELIPAK(), FORMATCOLUMNS()

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

Post by dragancesu »

welcome to the forum

At begin to understand harbour != Clipper, hmg != Clipper

Forget rmake, is great but there is a different concept and it does not work

I suggest that you go for the start of the harbour because you want to compile the regular Clipper application

I can see that the main program is bmi and then insert the lines
procedure main
set procedure to all

in all.prg (but can be named differently to be called) is inserted content bmi.rmk / lnk

set procedure to CALC
set procedure to custage
set procedure to custmenu
set procedure to debinote
etc.

and do HBMK2 bmi.prg

not the best but it is simply for beginers

User avatar
danielmaximiliano
Posts: 2359
Joined: Fri Apr 09, 2010 4:53 pm
Location: Argentina
Has thanked: 435 times
Been thanked: 84 times
Contact:

Post by danielmaximiliano »

Hola / Hi :
Cannot open RPTHEAD.prg, assumed external
Cannot open RPCW.prg, assumed external
Cannot open RPCL.prg, assumed external
Cannot open RPCW2.prg, assumed external
Cannot open RPCL2.prg, assumed external
Cannot open RPCL3.prg, assumed extern
also need to add those sources to the project.
k/win/mingw/bki.o:bki.c:(.text+0x220): first defined here
.hbmk/win/mingw/calcom.o:calcom.c:(.text+0x1c0): multiple definition of `HB_FUN_YRCOM'
.hbmk/win/mingw/bki.o:bki.c:(.text+0x240): first defined here
.hbmk/win/mingw/calcom.o:calcom.c:(.text+0x1e0): multiple definition of `HB_FUN_YEARSALMATABLE'
.hbmk/win/mingw/bki.o:bki.c:(.text+0x260): first defined here
.hbmk/win/mingw/calcom.o:calcom.c:(.text+0x200): multiple definition of `HB_FUN_MONSALMANTABLE'
.hbmk/win/mingw/bki.o:bki.c:(.text+0x280): first defined here
.hbmk/win/mingw/calcom.o:calcom.c:(.text+0x220): multiple definition of `HB_FUN_CALCOM1'
multiple definition of `HB_FUN_YRCOM' and other function.

try that only one function or procedure with the same name in your project.
if needed you can rename the function / procedure to:

Code: Select all

YRCOM_1 Function ()
...
return
*´¨)
¸.·´¸.·*´¨) ¸.·*¨)
(¸.·´. (¸.·` *
.·`. Harbour/HMG : It's magic !
(¸.·``··*

Saludos / Regards
DaNiElMaXiMiLiAnO

Whatsapp. := +54901169026142
Telegram Name := DaNiElMaXiMiLiAnO

fabiusong
Posts: 4
Joined: Mon Aug 18, 2014 5:31 am

Post by fabiusong »

There is no 2nd same name procedure inside the prg,if got ,the clipper compiler come out the error too.

I have used ca clipper compiled the prg file successfully.

User avatar
Agil Abdullah
Posts: 204
Joined: Mon Aug 25, 2014 11:57 am
Location: Jakarta, Indonesia
Contact:

Post by Agil Abdullah »

Hai Fabiusong,

You seem similiar to me; using CLIPPER compiler togather with RTlink or Blinker for more than 10years. As we are newbees, I suggest the following step by step in learning Harbour & HMG (Harbour MiniGUI).

1) Install the last stable HMG.3.3.1 version, download from this site:
site/index.php?option=com_phocadownload ... 0&Itemid=2

You may put the downloaded files into C:\hmg331

2) Try your first compiling:
- go to directory c:\hmg331\samples\basics\console
- select *.prg filename "hello.prg" to compile test
- make sure to send command PATH , example:

C:> PATH=c:\hmg331; c:\hmg331\harbour\bin

3) Now compile and link to create EXE file:
C:>\hmg331\build hello.prg

if you see the right output on screen, you are ready to go ahead.

4) Try your second compiling:
- go to directory c:\hmg331\samples\controls\grid\grid_25
- select "demo.prg" to test
- make sure you issue correct SET PATH as above mentioned

5) Now compile and link to create EXE (add option /N to avoid execute after compiling)
c:>\hmg331\build /n demo.prg

if you see the right output on screen, you are ready to go ahead. The more tests you have been through the more you are confident to upgrade your clipper-generated-apps.

Pls note some differences between Clipper & HMG as follows:

a) Clipper recognizes batchfile *.rmk for compiling (output *.OBJ), and batchfile *.lnk for linking *.OBJ. HMK only needs *.hbp file to replace *.rmk, and no need *.lnk files.

b) Clipper produces *.OBJ files (as first action) and then to link them as second action.
HMK compiles and links in one action!

That's all from me. I tell you what I know till today as still learning to migrate from Clipper to Harbour/HMG.

To study online tuturial you may try this two sites:

http://www.elektrosoft.it/tutorials.asp
this one is managed by Giovanny di Maria

http://vivaclipper.wordpress.com/2012/12/26/hmg/
this one is managed by Esgici

To everybody in this forum: pls make corrections when you find mistakes on my posts.

PROGRAMMER NEVER SURRENDER!!!

:) :) :)
Agil Abdullah Albatati (just call me Agil)
Programmer Never Surrender

Post Reply