multiple definition, apply HMG-IDE UNICODE ver 1.1(HMG 3.4.3)

458 views
Skip to first unread message

ROBERT CHEN

unread,
Mar 3, 2022, 2:51:00 AM3/3/22
to Harbour Users

Dear All.

Win10 apply HMG-IDE UNICODE ver 1.1(HMG 3.4.3) Run Building,

Please kindly advise me how to solve the problems "multiple definition"
Error List:
Linker .hbmk/win/mingw/AIRLN.o:AIRLN.prg: multiple definition of 'AIRLN
Linker .hbmk/win/mingw/AIRLN.o:AIRLN.prg: multiple definition of 'LOADAIRLN
Linker .hbmk/win/mingw/AIRLN.o:AIRLN.prg: multiple definition of 'AIRLN_FUN

Robert Chen/Taipei, Tawian

build.log
AIRLN.PRG
error.log

KennyOoi

unread,
Mar 3, 2022, 7:40:22 AM3/3/22
to Harbour Users
hi robert,
please check your AWBMENU.PRG there has a function name airln.LOADAIRLN,AIRLN_FUN


Kenny.

ROBERT CHEN

unread,
Mar 3, 2022, 7:48:31 AM3/3/22
to Harbour Users
These happen wherever AWBMENU.prg file call the procedure or function of Loadairln, Airln_Fun from AIRLN.prg program

Robert
KennyOoi 在 2022年3月3日 星期四下午8:40:22 [UTC+8] 的信中寫道:

ROBERT CHEN

unread,
Mar 3, 2022, 7:52:54 AM3/3/22
to Harbour Users
Hi Kenny,
AWBMENU.PRG DO CASE
if checkpass()
   do while .t.
      set cursor off
      @ 06,05 prompt ' 1.  Air Waybill Process          '
      @ 07,05 prompt ' 2.  Coload Air Waybill Process   '
      @ 08,05 prompt ' 3.  Air Waybill print            '
      @ 11,05 prompt ' 4.  Air Cargo Manifest (General) '
      @ 12,05 prompt ' 5.  Air Cargo Manifest (U.S.A.)  '
      @ 13,05 prompt ' 6.  Air Cargo Manifest (HKG)     '
      @ 15,05 prompt ' 7.  Debit Notes List(by Lotno)   '
      @ 17,05 prompt ' 0.  Data File Maintain           '
      @ 06,43 prompt ' 8.  Debit Notes Process          '
      @ 07,43 prompt ' 9   Credit Notes Process         '
      @ 08,43 prompt ' A.  Create Pre-Alert Fax File    '
      @ 11,43 prompt ' B.  Airline Maintain             '
      @ 12,43 prompt ' C.  Client Maintain              '
      @ 13,43 prompt ' D.  User Information             '
      @ 14,43 prompt ' E.  Destination Information      '
      @ 15,43 prompt ' F.  Iata Rate Maintain           '
      @ 17,43 prompt ' G.  AWBOVER                      '
      @ 19,43 prompt ' Q.  Quit                         '
      stdshowmsg("Please use key to select,Press first charactor or Enter to perform",24)
      set key   4 to key_right
      set key  19 to key_left
      set key 247 to moveprompt
      keyboard chr(247)
      menu to m_choice
      set key 247 to
      set key  19 to
      set key   4 to
      set cursor on
      clear typeahead
      ambscr = savescreen(00,00,24,79)
      @ 23,00 say repl('-',80)
      @ 24,00
      do case
         case m_choice=1
             do awb
         case m_choice=2
             do coload
         case m_choice=3
             do awbprt
         case m_choice=4
             do mnfst_g
         case m_choice=5
             do mnfst_u
         case m_choice=6
             do mnfst_h
         case m_choice=7
             do debitlst
         case m_choice=8
             if m_user=m_designer
                do maintain
             endif
         case m_choice=9
             do dbtnote
         case m_choice=10
             do crdnote
         case m_choice=11
             do prealert
         case m_choice=12
             do airln
         case m_choice=13
             if at(trim(m_user),"SARAH,EVELYN,ALBERT,ROBERT")>0 .or. m_user=m_designer
                do cnee
             endif
         case m_choice=14
             if m_user=m_designer
                do setuser
             endif
         case m_choice=15
             do dest
         case m_choice=16
             do iatarate
         case m_choice=17
             do awbover
         other
             exit
      endcase
      restscreen(00,00,24,79,ambscr)
   enddo
endif
close data
clear memory
clear
return

ROBERT CHEN 在 2022年3月3日 星期四下午8:48:31 [UTC+8] 的信中寫道:

KennyOoi

unread,
Mar 3, 2022, 8:19:22 AM3/3/22
to Harbour Users
hi robert,
have you set procedure to airln inside awbmenu.prg
or show the hbp and hbc file as well.

Kenny.

ROBERT CHEN

unread,
Mar 3, 2022, 9:26:16 AM3/3/22
to Harbour Users
Hi Kenny,
AWBMENU.PRG DO CASE when test only valid do airln
if checkpass()
//             do awb
         case m_choice=2
//               do coload
         case m_choice=3
//               do awbprt
         case m_choice=4
//               do mnfst_g
         case m_choice=5
//               do mnfst_u
         case m_choice=6
//               do mnfst_h
         case m_choice=7
//               do debitlst
         case m_choice=8
             if m_user=m_designer
//                  do maintain
             endif
         case m_choice=9
//               do dbtnote
         case m_choice=10
//               do crdnote
         case m_choice=11
//               do prealert

         case m_choice=12
             do airln
         case m_choice=13
             if at(trim(m_user),"SARAH,EVELYN,ALBERT,ROBERT")>0 .or. m_user=m_designer
//                  do cnee

             endif
         case m_choice=14
             if m_user=m_designer
//                  do setuser
             endif
         case m_choice=15
//               do dest
         case m_choice=16
//               do iatarate
         case m_choice=17
//               do awbover

         other
             exit
      endcase
      restscreen(00,00,24,79,ambscr)
   enddo
endif
close data
clear memory
clear
return

KennyOoi 在 2022年3月3日 星期四下午9:19:22 [UTC+8] 的信中寫道:
AWBMENU.hbp
AWBMENU.hbc

KennyOoi

unread,
Mar 3, 2022, 9:58:25 AM3/3/22
to Harbour Users
hi Robert,
try to remove the airln.prg from the hbp file or change do airln to airln() and try to recompile again,

Kenny.

ROBERT CHEN

unread,
Mar 3, 2022, 10:33:44 AM3/3/22
to Harbour Users
Hi Kenny,

had tried to compile again as per instruction while the same problems multiple definition happened.

Robert

KennyOoi 在 2022年3月3日 星期四下午10:58:25 [UTC+8] 的信中寫道:

KennyOoi

unread,
Mar 3, 2022, 11:11:23 AM3/3/22
to Harbour Users
i do this change but ok ,no multiple define.
please check the attachment.
have you make reset the project,...Project-->Reset Project Incremental Data then run [F5]


Kenny
build.log
awBmenu.prg

KennyOoi

unread,
Mar 3, 2022, 11:26:42 AM3/3/22
to Harbour Users
or add this line into hbc file...
prgflags=/m

ROBERT CHEN

unread,
Mar 3, 2022, 11:38:47 AM3/3/22
to Harbour Users
Kenny,

added   prgflags=/m into hbc file (Tag: configuration) while same problems.

Robert

KennyOoi 在 2022年3月4日 星期五上午12:26:42 [UTC+8] 的信中寫道:

KennyOoi

unread,
Mar 3, 2022, 11:43:30 AM3/3/22
to Harbour Users
hi,
i has tried to compile your code ,there is no error ,only missing function.

hbmk2[AWBMENU]: Warning: Unknown directive: 'consol mode: .T.' in
                E:\test\temp\err\AWBMENU.hbc:3
hbmk2: Compiling Harbour sources...
Harbour 3.2.0dev (r1407111333)
Copyright (c) 1999-2014, http://harbour-project.org/
hbmk2: Compiling...
hbmk2: Linking... AWBMENU.exe
.hbmk/win/mingw/awbmenu.o:awbmenu.c:(.data+0x18): undefined reference to `HB_FUN_CHECKPASS'
.hbmk/win/mingw/airln.o:airln.c:(.data+0x28): undefined reference to `HB_FUN_NET_USE'
.hbmk/win/mingw/airln.o:airln.c:(.data+0x58): undefined reference to `HB_FUN_STDERRMSG'
.hbmk/win/mingw/airln.o:airln.c:(.data+0x118): undefined reference to `HB_FUN_STDDEFVAR'
.hbmk/win/mingw/airln.o:airln.c:(.data+0x238): undefined reference to `HB_FUN_STDSHOWMSG'
.hbmk/win/mingw/airln.o:airln.c:(.data+0x268): undefined reference to `HB_FUN_STDINPUDAT'
.hbmk/win/mingw/airln.o:airln.c:(.data+0x368): undefined reference to `HB_FUN_KEYCHECK'
.hbmk/win/mingw/airln.o:airln.c:(.data+0x558): undefined reference to `HB_FUN_RECLOCK'
.hbmk/win/mingw/airln.o:airln.c:(.data+0x588): undefined reference to `HB_FUN_LOCKFILES'
.hbmk/win/mingw/airln.o:airln.c:(.data+0x598): undefined reference to `HB_FUN_STDSAVEDAT'
.hbmk/win/mingw/airln.o:airln.c:(.data+0x5f8): undefined reference to `HB_FUN_APPRECLOCK'
.hbmk/win/mingw/airln.o:airln.c:(.data+0x698): undefined reference to `HB_FUN_STDPRINTCN'
collect2: ld returned 1 exit status
hbmk2[AWBMENU]: Error: Running linker. 1
gcc.exe .hbmk/win/mingw/awbmenu.o .hbmk/win/mingw/airln.o .hbmk/win/mingw/_hbmkaut_awbmenu.o E:/test/temp/err/_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 -oAWBMENU.exe  -LG:/hb/hmg/hmgOld/hmg343/harbour/lib/win/mingw -LG:/hb/hmg/hmgOld/hmg343/lib

hbmk2: Error: Referenced, missing, but unknown function(s): CHECKPASS(),
       NET_USE(), STDERRMSG(), STDDEFVAR(), STDSHOWMSG(), STDINPUDAT(),
       KEYCHECK(), RECLOCK(), LOCKFILES(), STDSAVEDAT(), APPRECLOCK(),
       STDPRINTCN()

Kenny.

ROBERT CHEN

unread,
Mar 3, 2022, 6:38:32 PM3/3/22
to Harbour Users
Hi Kenny,

Thanks a lot for your kind testing to compile the the awbmenu and great to know there is no error but missing function.

Could I send the full set package of *.PRG files to you and asking your help to test it again for which will help me really to learn how to build the clipper program being windows EXE?

The package is including the AWB.RMK & AWB.LNK & *.LIB for clipper compile for your reference which will show how the clipper of AWBMENU.EXE be compile on clipper programming.

I started to study the HMG IDE owing to the web shown "From CA-Clipper to Windows in 5 Minutes" This how to speed up those programs by compiling them with HMG.

It is not so easy actually after trying and trying for which I found a lot of skill that I do not understand.

Robert Chen

KennyOoi 在 2022年3月4日 星期五上午12:43:30 [UTC+8] 的信中寫道:

KennyOoi

unread,
Mar 3, 2022, 11:55:27 PM3/3/22
to Harbour Users
hi robert,
sure you can send to me ,i will try to compile n test,
my mail ken100ken<at>gmail.com ,replace @ with <at>

Kenny.

ROBERT CHEN

unread,
Mar 5, 2022, 3:37:17 AM3/5/22
to Harbour Users

Hi Kenny,

1.      Thanks a lot, IDE: AWBMENU.EXE IS SUCCESSFUL

2.      Tested hbmk2 with bath file as follow: (error)

Would you please kindly advise how to solve the problems?

 

AWBMENU.BAT:

C:\HMG.3.4.3\HARBOUR\BIN\hbmk2 -oAWBMENU AWBMENU.prg CHECK.prg SETUSER.prg STDPROC.prg -lhbct libbcku.a libbr.a liboutq.a libqr.a libhbwin.a

 

Remark: the above bat is copied and modified from web C:\HMG.3.4.2\HARBOUR\BIN\hbmk2 -oAWBMENU AWBMENU.prg CHECK.prg SETUSER.prg STDPROC.prg -lhbct libbcku.a libbr.a liboutq.a libqr.a libhbwin.a

Set Win10 the environment variable PATH. insert at the bottom a new line C:\HMG.3.4.3\MINGW\BIN

C:\Users\rbtch\OneDrive\文件\AWB\AWB03>AWBMENU

Error message:

C:\Users\rbtch\OneDrive\文件\AWB\AWB03>C:\HMG.3.4.3\HARBOUR\BIN\hbmk2 -oAWBMENU AWBMENU.prg CHECK.prg SETUSER.prg STDPROC.prg -lhbct libbcku.a libbr.a liboutq.a libqr.a libhbwin.a

Harbour 3.2.0dev (r1601151502)

Copyright (c) 1999-2015, http://harbour-project.org/

Compiling 'AWBMENU.prg'...

Compiling 'airln.prg'...

Cannot open stdinpudat.prg, assumed external

Cannot open stddefvar.prg, assumed external

Cannot open stdsavedat.prg, assumed external

Lines 0, Functions/Procedures 32

Generating C source output to 'C:\Users\rbtch\AppData\Local\Temp\hbmk_9ei7e8.dir\AWBMENU.c'... Done.

Compiling 'CHECK.prg'...

Lines 101, Functions/Procedures 4

Generating C source output to 'C:\Users\rbtch\AppData\Local\Temp\hbmk_9ei7e8.dir\CHECK.c'... Done.

Compiling 'SETUSER.prg'...

Cannot open stddefvar.prg, assumed external

Cannot open stdinpudat.prg, assumed external

Cannot open stdsavedat.prg, assumed external

Lines 0, Functions/Procedures 9

Generating C source output to 'C:\Users\rbtch\AppData\Local\Temp\hbmk_9ei7e8.dir\SETUSER.c'... Done.

Compiling 'STDPROC.prg'...

Lines 594, Functions/Procedures 26

Generating C source output to 'C:\Users\rbtch\AppData\Local\Temp\hbmk_9ei7e8.dir\STDPROC.c'... Done.

gcc.exe: error: libbcku.a: No such file or directory

gcc.exe: error: libbr.a: No such file or directory

gcc.exe: error: liboutq.a: No such file or directory

gcc.exe: error: libqr.a: No such file or directory

gcc.exe: error: libhbwin.a: No such file or directory

hbmk2: Error: Running linker. 1

gcc.exe C:/Users/rbtch/AppData/Local/Temp/hbmk_9ei7e8.dir/AWBMENU.o C:/Users/rbtch/AppData/Local/Temp/hbmk_9ei7e8.dir/CHECK.o C:/Users/rbtch/AppData/Local/Temp/hbmk_9ei7e8.dir/SETUSER.o C:/Users/rbtch/AppData/Local/Temp/hbmk_9ei7e8.dir/STDPROC.o libbcku.a libbr.a liboutq.a libqr.a libhbwin.a   -mconsole -Wl,--start-group -lhbct -lhbextern -lhbdebug -lhbvm -lhbrtl -lhblang -lhbcpage -lgtcgi -lgtpca -lgtstd -lgtwin -lgtwvt -lgtgui -lhbrdd -lhbuddall -lhbusrrdd -lrddntx -lrddcdx -lrddnsx -lrddfpt -lhbrdd -lhbhsx -lhbsix -lhbmacro -lhbcplr -lhbpp -lhbcommon -lhbmainstd -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 -oAWBMENU.exe  -LC:/HMG.3.4.3/HARBOUR/lib/win/mingw

C:\Users\rbtch\OneDrive\文件\AWB\AWB03>


Robert 


KennyOoi 在 2022年3月4日 星期五下午12:55:27 [UTC+8] 的信中寫道:

KennyOoi

unread,
Mar 5, 2022, 4:25:11 AM3/5/22
to Harbour Users

hi rebert.

add -lhbct libbcku.a libbr.a liboutq.a libqr.a libhbwin.a
to
configuration there,
libs=hbct.hbc hbwin.hbc bcku br outq qr
** what is libbr.a liboutq.a libqr.a ,if those lib store in other folder you need to add librarypath
libpaths=yourlibPath


Kenny.

ROBERT CHEN

unread,
Mar 5, 2022, 9:11:54 AM3/5/22
to Harbour Users
Hi Kenny,

AWBMENU.BAT:

C:\HMG.3.4.3\HARBOUR\BIN\hbmk2 -oAWBMENU AWBMENU.prg CHECK.prg SETUSER.prg STDPROC.prg -lhbct libbcku.a libbr.a liboutq.a libqr.a libhbwin.a

This .bat is imitated/copy the syntax from web page C:\HMG.3.4.2\HARBOUR\BIN\hbmk2 -oAWBMENU 1.prg 2.prg 3.prg 4.prg -lhbct libbcku.a libbr.a liboutq.a libqr.a libhbwin.a

I do not know what these are *.a.

thinking the C:\HMG.3.4.2 and C:\HMG.3.4.3 should apply different *.a

Robert
KennyOoi 在 2022年3月5日 星期六下午5:25:11 [UTC+8] 的信中寫道:

KennyOoi

unread,
Mar 5, 2022, 9:24:21 AM3/5/22
to Harbour Users
hi Rebert,
the *.a is for mingw Library file extension,
that hbct and libhbwin belong to harbour contrib library ,these libbcku.a libbr.a liboutq.a libqr.a not belong to harbour/hmg ,where you got these ?


Kenny.

ROBERT CHEN

unread,
Mar 5, 2022, 9:33:32 AM3/5/22
to Harbour Users
Hi Kenny,

I also have old Clipper 5 programs, 24 rows, 80 columns as it was in DOS, nothing graphic. I compiled them like this :

1) Modify in Windows the environment variable PATH. I use Windows 10 Home.
Goto SYSTEM, click Advanced System Settings, click Environment Variables, click PATH in the System Variables, click Edit, insert at the bottom a new line C:\HMG\MINGW\BIN
(C:\HMG is the folder where I installed HMG.3.4.2.Setup.exe)

2) Create a bat-file to compile your old DOS Clipper program. I included an example in attachment NT.ZIP. The BAT-file has only one line.

C:\HMG\HARBOUR\BIN\hbmk2 -oNT NT_INIT NTBHFMKD.prg NTBHMUNT.prg NTARTIKL.prg NTETIKAR.prg NTETIKKL.prg NTETIKLV.prg NTETIKPK.prg NTFCTAKP.prg NTIV.prg NTIVPRT.prg NTKLANT.prg NTKSTPRC.prg NTLEVCIR.prg NTLOCATI.prg NTMNU.prg NTOVRSCH.prg NTPRTAF.prg NTPRTAR.prg NTPRTDOC.prg NTPRTKL.prg NTPRTLV.prg NTPRTOV.prg NTPRTPK.prg NTPRTVP.prg NTVOLGNR.prg NTVPVPEH.prg NTWN.prg NTWNDOP.prg NTWNPRT.prg NT_DBSTR.prg NT_INHD.prg NT_OPNF.prg -lhbct libbcku.a libbr.a liboutq.a libqr.a libhbwin.a

C:\HMG\HARBOUR\BIN\hbmk2 is the compiler
-oNT : NT.EXE will be my EXE-file
add all the PRG-files and libraries you want to compile and link together.

3) Save that BAT-file in the folder where your PRG-files are.
4) Open a command prompt in Windows.
5) Navigate to the folder where your BAT-file is
6) Run your BAT-file. Your EXE-file is made.
7) Run your EXE-file from the command prompt. It works fine.

I didn't have to rewrite any lines. The old DOS program runs now in a Window, still with 24 rows and 80 columns.
(I didn't have any fmt- or scr-files)

Robert

KennyOoi 在 2022年3月5日 星期六下午10:24:21 [UTC+8] 的信中寫道:

KennyOoi

unread,
Mar 5, 2022, 9:46:24 AM3/5/22
to Harbour Users

hi ,
these NT_INIT NTBHFMKD.prg NTBHMUNT.prg NTARTIKL.prg NTETIKAR.prg NTETIKKL.prg NTETIKLV.prg NTETIKPK.prg NTFCTAKP.prg NTIV.prg NTIVPRT.prg NTKLANT.prg NTKSTPRC.prg NTLEVCIR.prg NTLOCATI.prg NTMNU.prg NTOVRSCH.prg NTPRTAF.prg NTPRTAR.prg NTPRTDOC.prg NTPRTKL.prg NTPRTLV.prg NTPRTOV.prg NTPRTPK.prg NTPRTVP.prg NTVOLGNR.prg NTVPVPEH.prg NTWN.prg NTWNDOP.prg NTWNPRT.prg NT_DBSTR.prg NT_INHD.prg NT_OPNF.prg -lhbct libbcku.a libbr.a liboutq.a libqr.a libhbwin.a
all is your clipper source ?

Kenny.

ROBERT CHEN

unread,
Mar 5, 2022, 10:57:37 AM3/5/22
to Harbour Users
Hi Kenny,
These are not my clipper sources.
I replaced my clipper sources with concerning AWBMENU.PRG for syntax of bat file.

Robert

KennyOoi 在 2022年3月5日 星期六下午10:46:24 [UTC+8] 的信中寫道:

ROBERT CHEN

unread,
Mar 5, 2022, 10:59:57 AM3/5/22
to Harbour Users
Hi Kenny,

Are you living in Asia?

Robert

ROBERT CHEN 在 2022年3月5日 星期六下午11:57:37 [UTC+8] 的信中寫道:

KennyOoi

unread,
Mar 5, 2022, 11:09:26 AM3/5/22
to Harbour Users
Hi Robert,

in that case ,you just put in your clipper source and compile see what is the error,

don't include these file...-lhbct libbcku.a libbr.a liboutq.a libqr.a libhbwin.a
 just hbmk2 your clipperSource....

***********************
check your airln.prg there has calling this three function

airln.prg line 63    do stdinpudat with 'G','M','k',1,m_keynum,0


Cannot open stdinpudat.prg, assumed external

airln.prg line 91,92 do stddefvar with m_keynum,'m_kpp','m_kdf'

Cannot open stddefvar.prg, assumed external

airln.prg line 230,231,280,281 do stdsavedat with 'M','k',m_keynum

Cannot open stdsavedat.prg, assumed external

check your SETUSER.PRG there has calling this three function

Cannot open stddefvar.prg, assumed external
Cannot open stdinpudat.prg, assumed external
Cannot open stdsavedat.prg, assumed external
*****************

Kenny.

KennyOoi

unread,
Mar 5, 2022, 11:10:04 AM3/5/22
to Harbour Users
hi,

From Malaysia.

Kenny.

ROBERT CHEN

unread,
Mar 5, 2022, 11:36:52 AM3/5/22
to Harbour Users
Kenny,

Tried the new 2 bat as flws both ok to run but not creat AWBMENU.EXE file.
1. C:\HMG.3.4.3\build.bat /c -od:\awb03\ D:\AWB03\Main.prg CHECK.prg SETUSER.prg STDPROC.prg
2. C:\HMG.3.4.3\build.bat /c -od:\awb03\ D:\AWB03\Main.prg CHECK.prg SETUSER.prg STDPROC.prg -inc

Unfortunately, accessed cmd > awbmenu will not create/build executable EXE file no matter with or without -o

3. Accessed follows will create/build executable AWBMENU.EXE file in the directory of d:\awb03\ of source directory
    C:\Users\rbtch>cd \hmg.3.4.3 
    C:\hmg.3.4.3>build /c -od:\awb03\ d:\awb03\AWBMENU.hbp

Robert

KennyOoi 在 2022年3月6日 星期日上午12:10:04 [UTC+8] 的信中寫道:

Auge & Ohr

unread,
Mar 5, 2022, 12:52:40 PM3/5/22
to Harbour Users
hi Kenny,

i wonder that you still have Problem with Environment.

you are working with HMG Constribution, right ?
than you should have all LIB(s) you need ...

---

use HMG-IDE F5 or "BUILD.BAT" in Sample Folder.

! Note : you NEED to use "given" Folder Structure !
so if you have installed HMG under C:\HMG that "your" Project must be under C:\HMG\YourFolder

do NOT try to build your "own" *.BAT where you include (dupe) LIB(s)
use *.HBC for LIB(s) only

i recommend to ask in HMG Forum as every Constribution is different and include (!) LIB(s)

Jimmy

KennyOoi

unread,
Mar 5, 2022, 10:07:35 PM3/5/22
to Harbour Users

Hi Robert,

Please List out the HMG installed location include disk drive/folder and ,
your project folder include disk drive ,
all source file inside the project folder *.prg *.ch and any other.


Kenny.

ROBERT CHEN

unread,
Mar 6, 2022, 4:32:49 AM3/6/22
to Harbour Users
Hi Kenny,

HMG installed location including etc as attachment.

Robert

KennyOoi 在 2022年3月6日 星期日上午11:07:35 [UTC+8] 的信中寫道:
HMG installed location include.docx

ROBERT CHEN

unread,
Mar 6, 2022, 4:37:30 AM3/6/22
to Harbour Users
Kenny,

All prg as as attchment,

Robert 

ROBERT CHEN 在 2022年3月6日 星期日下午5:32:49 [UTC+8] 的信中寫道:
Main.PRG
CHECK.PRG
AIRLN.PRG
AWBMENU.PRG

ROBERT CHEN

unread,
Mar 6, 2022, 4:39:38 AM3/6/22
to Harbour Users
Kenny,

attachment
Robert

ROBERT CHEN 在 2022年3月6日 星期日下午5:37:30 [UTC+8] 的信中寫道:
STDPROC.PRG
SETUSER.PRG

KennyOoi

unread,
Mar 6, 2022, 6:42:31 AM3/6/22
to Harbour Users

Hi Robert,

here is my build result.
*

set path=C:\hmg.3.4.3\;C:\hmg.3.4.3\harbour\bin;C:\hmg.3.4.3\mingw\bin;%path%
set include=C:\hmg.3.4.3\include;C:\hmg.3.4.3\harbour\include;C:\hmg.3.4.3\harbour\contrib\hbwin;%include%
set hb_user_libpaths=C:\hmg.3.4.3\lib C:\hmg.3.4.3\include

d:
cd \awb03


hbmk2 main.prg stdproc.prg check.prg /m /gc3 > err.txt 2>&1
dir *.exe
notepad err.txt


**************************
after compiled the result

 Directory of D:\awb03

03/06/2022  06:59 PM             7,379 SETUSER.PRG
03/06/2022  06:59 PM            13,563 STDPROC.PRG
03/06/2022  06:59 PM             9,508 AIRLN.PRG
03/06/2022  06:59 PM             3,266 CHECK.PRG
03/06/2022  06:59 PM            16,534 Main.PRG
03/06/2022  06:59 PM           133,564 HMG installed location include.docx
03/06/2022  07:00 PM            16,671 AWBMENU.PRG
03/06/2022  07:01 PM    <DIR>          src-1
03/06/2022  07:04 PM            15,008 main.ppo
03/06/2022  07:12 PM         1,963,546 main.exe
03/06/2022  07:12 PM               700 err.txt
03/06/2022  07:18 PM                64 list.txt
03/06/2022  07:20 PM    <DIR>          .
03/06/2022  07:20 PM    <DIR>          ..
03/06/2022  07:20 PM               359 bld.txt

**************************
the compiled log file


hbmk2: Processing environment options: -LC:\hmg.3.4.3\prj\udf10
       -LC:\hmg.3.4.3\lib -LC:\hmg.3.4.3\include

Harbour 3.2.0dev (r1407111333)
Copyright (c) 1999-2014, http://harbour-project.org/
Compiling 'main.prg'...

100

200

300

100

200

300

400

500

Lines 1136, Functions/Procedures 18
Generating C source output to 'h:\temp\cache\hbmk_72hrf7.dir\main.c'... Done.
Compiling 'stdproc.prg'...

100

200

300

400

500

Lines 594, Functions/Procedures 26
Generating C source output to 'h:\temp\cache\hbmk_72hrf7.dir\stdproc.c'... Done.
Compiling 'check.prg'...

100

Lines 101, Functions/Procedures 4
Generating C source output to 'h:\temp\cache\hbmk_72hrf7.dir\check.c'... Done.


*

please download the awb03.hbp and awb03.hbc for hmg ide. from gDrive link

ROBERT CHEN

unread,
Mar 7, 2022, 3:46:37 AM3/7/22
to Harbour Users
Hi Kenny,

Thanks a lot,
Wonderful, great, I rename bld.txt being bld.bat
modify being :  hbmk2 awbmenu.prg airln.prg stdproc.prg check.prg /m /gc3 > err.txt 2>&1
Run command BLD OK, SUCCESSED, CREATE AWBMENU.EXE
Doble click AWBMENU.EXE the right screen shown and accessed in good order.

You are so nice and gracious and a hard worker on Saturday and Sunday.

By the way, would you please kindly explain what about:
1. hbmk2 : .prg check.prg /m /gc3 > err.txt 2>&1 ?
2.  *.hbc :  prgflags=/m /gc3 /p ?

Robert
KennyOoi 在 2022年3月6日 星期日下午7:42:31 [UTC+8] 的信中寫道:

ROBERT CHEN

unread,
Mar 7, 2022, 3:50:50 AM3/7/22
to Harbour Users
Hi Kenny,

Another question: 
How/where do you know/learn the Processing environment must be setting as follows for command run:
set path=C:\hmg.3.4.3\;C:\hmg.3.4.3\harbour\bin;C:\hmg.3.4.3\mingw\bin;%path%
set include=C:\hmg.3.4.3\include;C:\hmg.3.4.3\harbour\include;C:\hmg.3.4.3\harbour\contrib\hbwin;%include%
set hb_user_libpaths=C:\hmg.3.4.3\lib C:\hmg.3.4.3\include

Robert
ROBERT CHEN 在 2022年3月7日 星期一下午4:46:37 [UTC+8] 的信中寫道:

Auge & Ohr

unread,
Mar 7, 2022, 8:09:24 AM3/7/22
to Harbour Users
hi Robert,

i wonder that you got your Apps running with your Folder Structure of HMG which is WRONG !

you have to use harbour Structure and use it "as Root" !
than you do NOT need to Set Environment

 Verzeichnis von C:\hmg35

04.03.2022  15:52    <DIR>          MYPROJECT <- here are "my Project"
15.02.2015  22:55    <DIR>          DATA
12.06.2015  18:26    <DIR>          DOC
30.06.2021  03:29    <DIR>          HARBOUR
30.06.2021  03:36    <DIR>          IDE
17.11.2019  04:59    <DIR>          IDE_ANSI
01.11.2021  05:40    <DIR>          INCLUDE
16.02.2022  19:21    <DIR>          lib
15.09.2014  14:05    <DIR>          LIB-64
30.06.2021  03:30    <DIR>          MINGW
19.06.2020  00:08    <DIR>          RESOURCES
02.02.2015  21:43    <DIR>          SAMPLES
16.02.2022  19:19    <DIR>          SOURCE

Jimmy

KennyOoi

unread,
Mar 7, 2022, 8:09:26 AM3/7/22
to Harbour Users
Hi Robert,


the /m /p is harbour/clipper compiler options flag

the hbc prgflags=/m /gc3 /p ...when hbmk2 process will pass
this to harbour compiler

on the command prompt type harbour [enter]
you will get this...
----------------------------------------------------
Harbour 3.2.0dev (r2104281802)
Copyright (c) 1999-2021, https://harbour.github.io/

Syntax:  harbour <file[s][.prg]|@file> [options]

Options:  -a               automatic memvar declaration
          -b               debug info
          -build           display detailed version info
          -credits         display credits
          -d<id>[=<val>]   #define <id>
          -es[<level>]     set exit severity
          -fn[:[l|u]|-]    set filename casing (l=lower u=upper)
          -fd[:[l|u]|-]    set directory casing (l=lower u=upper)
          -fp[:<char>]     set path separator
          -fs[-]           turn filename space trimming on or off (default)
          -g<type>         output type generated is <type> (see below)
          -gc[<type>]      output type: C source (.c) (default)
                           <type>: 0=compact (default) 1=normal 2=verbose
                                   3=generate real C code
          -gh              output type: Harbour Portable Object (.hrb)
          -gd[.<destext>]  generate dependencies list into (.d) file
          -ge[<mode>]      error output <mode>: 0=Clipper (default)
                                                1=IDE friendly
          -i<path>         #include file search path
          -i[-|+]          disable/enable support for INCLUDE envvar
          -j[<file>]       generate i18n gettext file (.pot)
          -k               compilation mode (type -k? for more data)
          -l               suppress line number information
          -m               compile module only
          -n[<type>]       no implicit starting procedure
                           <type>: 0=no implicit starting procedure
                                   1=no starting procedure at all
                                   2=add starting procedure if necessary
          -o<path>         object file drive and/or path
          -p[<path>]       generate pre-processed output (.ppo) file
          -p+              generate pre-processor trace (.ppt) file
          -q               quiet
          -q0              quiet and don't display program header
          -q2              disable all output messages
          -ql              hide line counter gauge
          -r:<max>         set maximum number of preprocessor iterations
          -s[m]            syntax check only [minimal for dependencies list]
          -u[<file>]       use command def set in <file> (or none)
          -u+<file>        add command def set from <file>
          -undef:<id>      #undef <id>
          -v               variables are assumed M->
          -w[<level>]      set warning level number (0..3, default 1)
          -z               suppress shortcutting (.and. & .or.)
          @<file>          compile list of modules in <file>

-------------------------------------
for that path setting.
harbour.exe and hbmk2.exe are store inside C:\hmg.3.4.3\harbour\bin
and gcc.exe compiler store inside C:\hmg.3.4.3\harbour\bin;C:\hmg.3.4.3\mingw\bin
so we need this path setting.
----------------------

set path=C:\hmg.3.4.3\;C:\hmg.3.4.3\harbour\bin;C:\hmg.3.4.3\mingw\bin;%path%
set include=C:\hmg.3.4.3\include;C:\hmg.3.4.3\harbour\include;C:\hmg.3.4.3\harbour\contrib\hbwin;%include%
set hb_user_libpaths=C:\hmg.3.4.3\lib C:\hmg.3.4.3\include
----------

Kenny.

ROBERT CHEN

unread,
Mar 7, 2022, 9:41:20 AM3/7/22
to Harbour Users
Hi Jimmy,

My structure is installed by the setup.exe of HMG.3.4.3 automatically.
Comparing both structures is all in root but there are some differences of follows I do not have it.
04.03.2022  15:52    <DIR>          MYPROJECT <- here are "my Project"
15.02.2015  22:55    <DIR>          DATA
15.09.2014  14:05    <DIR>          LIB-64

Please kindly advise me what is concerning about those <Dir> that I do not have.

Robert
KennyOoi 在 2022年3月7日 星期一下午9:09:26 [UTC+8] 的信中寫道:

ROBERT CHEN

unread,
Mar 7, 2022, 9:59:59 AM3/7/22
to Harbour Users
Hi Kenny,

Thanks for your kind answer and got little bit realization.
C:\hmg.3.4.3\HARBOUR\bin>harbour

Harbour 3.2.0dev (r1601151502)
Copyright (c) 1999-2015, http://harbour-project.org/

hbmk2 : .prg check.prg /m /gc3
Options:  
          -gc : output type: C source (.c) (default)
                : 3=generate real C code
          -m               compile module only

          -p[<path>]       generate pre-processed output (.ppo) file
          -p+              generate pre-processor trace (.ppt) file
          @<file>          compile list of modules in <file>

Robert
ROBERT CHEN 在 2022年3月7日 星期一下午10:41:20 [UTC+8] 的信中寫道:

Auge & Ohr

unread,
Mar 7, 2022, 11:14:50 AM3/7/22
to Harbour Users
hi Robert,

you have install HMG under C:\HMG.3.4.3\
but you source are on different Drive D:\AWB03\

all BUILD.BAT and IDE.BAT work under C:\HMG.3.4.3\ Structure
do move your Source from D: into C:\HMG.3.4.3\MYPROJECT\AWB03\

this is like \SAMPLE Structure where you found BUILD.BAT or IDE.BAT

---

put all *.PRG into *.HBP and use IDE or call

..\..\BUILD.BAT YOUR*.HBP

---


04.03.2022  15:52    <DIR>          MYPROJECT <- here are "my Project"
15.02.2015  22:55    <DIR>          DATA      <- unused by HMG        
15.09.2014  14:05    <DIR>          LIB-64    <- Folder for 64 Bit LIB(s)

Jimmy

ROBERT CHEN

unread,
Mar 7, 2022, 8:40:09 PM3/7/22
to Harbour Users
Hi Jimmy,2
I install HMG under C:\HMG.3.4.3\ and put source on different Drive D:\AWB03\ for which is no problems to create executable EXE files after several testing.

For your information, the source is located outside HMG root no problem building executable EXE in good order.
1. It could apply -o<path with separate of output file> <path with separate of sources file> *.prg. on the HMG Root directory run command of 
    build.bat
 2. Create a batch file on the location of source files then run command of the batch file.       

Robert

Auge & Ohr 在 2022年3月8日 星期二上午12:14:50 [UTC+8] 的信中寫道:

Auge & Ohr

unread,
Mar 7, 2022, 11:40:33 PM3/7/22
to Harbour Users
hi Robert,

you can work like you want but all Constribution work that Way show above.
if you do not use harbour Concept of Folder Structure you will get much Problem like you had before

---

have you re-build HMG LIB ?
Default LIB(s) are ANSI so you need to re-build into UNICODE Version
those Constribution like hbWIN are all include in HMG Constribution without "multiple definition".

Jimmy

ROBERT CHEN

unread,
Mar 8, 2022, 12:11:56 AM3/8/22
to Harbour Users
Hi Jimmy,

Thanks for your advice, freshmen do not realize HMG deeply and just trial & trial at moment. 
Hopely, I can learn the HMG step by step deeply. 

I do not know how to re-build HMG LIB concern at all.
Could you teach me how to re-build HMG into UNICODE Version?

For your information, I just downloaded HMG.3.4.4 seems it supports Unicode Version in good order.
I will try the new version later.

By the way, I would like to know if you are still living in Hamburg Germany for the moment.  
You are a hard worker too, receiving your kind answer in so early morning.

Robert

Auge & Ohr 在 2022年3月8日 星期二下午12:40:33 [UTC+8] 的信中寫道:

Auge & Ohr

unread,
Mar 9, 2022, 4:31:59 PM3/9/22
to Harbour Users
hi Robert,

i saw you asking for "Full-Screen" using Console. not sure if you need UNICODE for Console
nerveless here "how to build LIB"

open CMD Box and change into Folder where you have installed HMG
type : DIR *.BAT

for 32 Bit

 build.bat
 BuildLib32.bat
 BuildAllLib32.bat

run BUILD.BAT without any Parameter -> Error Message
but when type SET you will see that Environment have new SET which work with "this" Folder Structure !

btw. all build.bat in \Sample Folder point to "Root-build.bat"

after Environment are SET use "BuildLib32.bat" and use Option 2 for UNICODE
now it will re-compile HMG Source and build a UNICODE LIB

HMG have some external LIB so if you need them run BuildAllLib32.bat as last work

for 64 Bit ( need 64 bit Compiler / LIB(s) )

 build64.bat
 _BuildLib64.bat
 _BuildAllLib64.bat

same procedure like 32 Bit

! Note : use IDE with "blue Icon" for UNICODE ( RED is for ANSI )

Jimmy

ROBERT CHEN

unread,
Mar 9, 2022, 9:58:33 PM3/9/22
to Harbour Users
Hi Jimmy,

Are you in Asia now? (上午5:31 (5 小時前) issued)

It is great to teach me how to set Environment & Lib step by step.
These are very important and precious for me to learn directly how to set Environment and Lib for 32bit & 64bit on the easy way of direction to avoid to beat around the bush.
Note : all Build.bat the  HMG "Root-build.bat" is applied for SAMPLE folder.
HMG.3.4.3\SAMPLE\*.bat
BuildAllDemos.bat : Check & Note
SET HMGPATH=%~dp0      // This is HMG "Root-build.bat"
TITLE Build All Demos at %HMGPATH%

Build.bat : Check & Note
@ECHO OFF
SETLOCAL
SET Temp1=%~dp0   //Meaning this is point to HMG "Root-build.bat"
HMG.3.4.3\SAMPLE\Folder\*.bat
All Build.bat : Check & Note
SET Temp1=%~dp0   //those is point to HMG "Root-build.bat"

After Environment are SET > "BuildLib32.bat" > Option 2 for UNICODE ; now it re-compile HMG Source and build a UNICODE LIB
There is a lot of information:
 Build Library:         UNICODE
hbmk2: Processing environment options: -LC:\hmg.3.4.3\lib
       -LC:\hmg.3.4.3\include

Harbour 3.2.0dev (r1601151502)
Copyright (c) 1999-2015, http://harbour-project.org/
Compiling 'source\debugger\dbgHB.prg'...
Lines 2353, Functions/Procedures 59
Generating C source output to 'C:\Users\rbtch\AppData\Local\Temp\hbmk_fbkdzm.dir\dbgHB.c'... Done.
Compiling 'source\debugger\dbgGUI.prg'...
Lines 17094, Functions/Procedures 43
Generating C source output to 'C:\Users\rbtch\AppData\Local\Temp\hbmk_fbkdzm.dir\dbgGUI.c'... Done.
Compiling 'source\class\HMG_TString.prg'...
Lines 16343, Functions/Procedures 2
Generating C source output to 'C:\Users\rbtch\AppData\Local\Temp\hbmk_fbkdzm.dir\HMG_TString.c'... Done.
Compiling 'source\h_UNICODE.prg'...
Lines 15689, Functions/Procedures 2  ......................
......................
Lines 15966, Functions/Procedures 15
Generating C source output to 'C:\Users\rbtch\AppData\Local\Temp\hbmk_fbkdzm.dir\h_winapimisc.c'... Done.
Compiling 'source\h_windows.prg'...
Lines 22596, Functions/Procedures 69
Generating C source output to 'C:\Users\rbtch\AppData\Local\Temp\hbmk_fbkdzm.dir\h_windows.c'... Done.
請按任意鍵繼續 . . .
C:\hmg.3.4.3>
Now aware : for 64 Bit ( need 64 bit Compiler / LIB(s) ) The same procedure like 32 Bit
also Note : use IDE with "blue Icon" for UNICODE ( RED is for ANSI )


Robert

Auge & Ohr 在 2022年3月10日 星期四上午5:31:59 [UTC+8] 的信中寫道:

ROBERT CHEN

unread,
Mar 9, 2022, 10:47:18 PM3/9/22
to Harbour Users
Hi Dear Friends,

HMG.3.4.3\SAMPLE\UNICODE\MAIN_UNI_DEMO
File : readme1st.txt statement;
Command line build:
        build.bat <prgname.prg> | <projectname.hbp>
Ide build:
        ide.bat <projectname.hbp>

Both buildings are running under the CMS Command?
Would you please explain what Command line build and Ide build means and the difference?  

Robert

ROBERT CHEN 在 2022年3月10日 星期四上午10:58:33 [UTC+8] 的信中寫道:

Auge & Ohr

unread,
Mar 10, 2022, 12:41:29 AM3/10/22
to Harbour Users
hi Robert,

when right click on Icon you got Context-Menu and have "edit" ( will open Notepad )

built.bat need DEMO.HBP as Parameter
IDE.BAT does open IDE and if Parameter also Project.

---

i do assign *.HBP to IDE

dblclick on DEMO.HBP and Windows will ask you which App to use.
navigate to IDE (UNICODE or ANSI) and use EXE

back to 1st Dialog now, before OK, use Checkbox "open with" to assign it in Registry

Jimmy

ROBERT CHEN

unread,
Mar 10, 2022, 1:28:56 AM3/10/22
to Harbour Users

Hi Jimmy,

1.     View both contents of bat files my realization about it. I do not know right or not.

2.     The difference for both just as flws:

 build.bat: WithOutParam use *.hbp, or WithParam use MainFile

IF "%1"=="" GOTO WithOutParam

SET MainFile="%1"

GOTO WithParam

 :WithOutParam

FOR %%x IN (*.hbp) DO ( ECHO Building %%x

IF "%NoRun%"=="" CALL %Temp1%\build.bat %%x

IF NOT "%NoRun%"=="" CALL %Temp1%\build.bat /n %%x )

GOTO End

:WithParam

IF "%NoRun%"=="" CALL %Temp1%\Build.bat %MainFile%

IF NOT "%NoRun%"=="" CALL %Temp1%\Build.bat /n %MainFile%

ide.bat : always use *.hbp

IF "%1"=="" for %%x in (*.hbp) do (%Temp1%\Ide\Ide.exe %%x)

IF NOT "%1"=="" %Temp1%\Ide\Ide.exe %1

 So, seems the readme1st.txt statement:

Command line build:
        build.bat <prgname.prg> | <projectname.hbp>  > use *.prg or projectname.hbp
Ide build:
        ide.bat <projectname.hbp>  > use projectname.hbp only.

Robert

Auge & Ohr 在 2022年3月10日 星期四下午1:41:29 [UTC+8] 的信中寫道:

Auge & Ohr

unread,
Mar 10, 2022, 2:11:50 AM3/10/22
to Harbour Users
hi Robert,

you are right, both use *.HBP in Folder if found

Jimmy

ROBERT CHEN

unread,
Mar 10, 2022, 3:54:37 AM3/10/22
to Harbour Users

Hi Dear Friends,

I am beating around the bush really, always error warning so on:

undefined reference to `HB_FUN__DUMMY'

undefined reference to `HB_FUN__DEFINEWINDOW'

undefined reference to `HB_FUN__DEFINEMAINMENU'

………

I am learning step by step :Understanding multi gt

http://harbourlanguage.blogspot.com/2011/12/understanding-multi-gt.html

According to the instruction test one by one

Both Test Set Environment & Lib :

  set path=C:\hmg.3.4.3\;C:\hmg.3.4.3\harbour\bin;C:\hmg.3.4.3\mingw\bin;%path%

  set include=C:\hmg.3.4.3\include;C:\hmg.3.4.3\harbour\include;C:\hmg.3.4.3\harbour\contrib\hbwin;%include%

  set hb_user_libpaths=C:\hmg.3.4.3\lib C:\hmg.3.4.3\include

Test1. Start of an example cadastro.prg in text mode, see how to use and

successed build : hbmk2 cadastro.prg -gtwvt /gc3 > err.txt 2>&1 rem for text console mode in good order Test01

cadastro.prg :

procedure main()

    DO while .t.

        cls

        @ 0,0 say "customer base"

        @ 2,0 prompt "inclusion"

        @ 4,0 prompt "change"

        @ 6,0 prompt "exclusion"

        @ 8,0 prompt "consultation"

        @ 10,0 say "Choose an option"

               menu to op

               if op == 0

                       exit

               elseif op == 1

                       inclusao()

               elseif op == 2

                       alteration()

               elseif op == 3

                       Dlete()    

               elseif op == 4

                query()

        endif

    ENDDO

return

function inclusao()

        cls

        ? "Inclusion of customers"

        INKEY (0)

return

function change()

cls

? "change of the customers"

INKEY (0)

return

function alteration()

cls

? "Alteration(change) of the customers"

INKEY (0)

return

function Dlete()

cls

? "Exclusion(Delete) of customers"

INKEY (0)

return

function query ()

cls

? "Query(consultation) client"

INKEY (0)

return    

 

2.     how to apply the use of multi-gt in MiniGUI. use two functions of the Harbour: 
hb_gtCreate () 
hb_gtSelect () 

The purpose of this application is to convert text to graphic,

Test2. example cadastro.prg to graphic mode, see how to use

Failure build:  hbmk2 cadastro2.prg-ic: \ MiniGUI \ include-Lc-lminigui: \ MiniGUI \ lib-gtgui

cadastro.prg :

# Include "minigui.ch"

REQUEST HB_GT_WIN_DEFAULT

request hb_gt_wvt

 procedure main ()

       // Due the section according to web page instruction is building error // so, make it simplified being this syntax:  

        * HMG-IDE UNICODE Form Designer Generated Code

        DEFINE WINDOW Main

                AT 138 , 235 ;

                WIDTH 550 ;

                HEIGHT 350 ;

                VIRTUAL WIDTH Nil ;

                VIRTUAL HEIGHT Nil ;

                TITLE "" ;

                ICON NIL ;

                MAIN ;;

                CURSOR NIL ;

                ON INIT Nil ;

                ON RELEASE Nil ;

                ON INTERACTIVECLOSE Nil ;

                ON MOUSECLICK Nil ;

                ON MOUSEDRAG Nil ;

                ON MOUSEMOVE Nil ;

                ON SIZE Nil ;

                ON MAXIMIZE Nil ;

                ON MINIMIZE Nil ;

                ON PAINT Nil ;

                BACKCOLOR Nil ;

                NOTIFYICON NIL ;

                NOTIFYTOOLTIP NIL ;

                ON NOTIFYCLICK Nil ;

                ON GOTFOCUS Nil ;

                ON LOSTFOCUS Nil ;

                ON SCROLLUP Nil ;

                ON SCROLLDOWN Nil ;

                ON SCROLLLEFT Nil ;

                ON SCROLLRIGHT Nil ;

                ON HSCROLLBOX Nil ;

                ON VSCROLLBOX Nil

        END WINDOW

 

        Load Window Main

        Main.Center

        Main.Activate

       // this section according to web page instruction but build error  

**        DEFINE WINDOW MainWindow;

**                AT 0,0 ;

**                WIDTH 800 ;

**                HEIGHT 600 ;

**                TITLE "customer base" ;

**        ICON 'DEMO.ICO' ; 

**                main ;

**            FONT 'Arial' SIZE 10

**        *                      DEFINE MAIN MENU

**        *                              POPUP "Options"

**        *                              ITEM "inclusion" ACTION inclusion ()

**        *                              ITEM "change" ACTION alteration ()

**        *                              ITEM "exclusion" ACTION Delete ()

**        *                              ITEM "consultation" ACTION query ()

**        *                              END POPUP

**        *                      END MENU

**        END WINDOW

**        ACTIVATE WINDOW MainWindow

return

        inclusion function ()

                local TMP

                Local pNewGT

                pNewGT: hb_gtCreate = ("WVT")

                TMP: = hb_gtSelect (pNewGT)

                cls

                ? "Inclusion of customers'

                INKEY (0)

                pNewGT: = nil

                hb_gtSelect (TMP)

        return

        function change ()

                local TMP

                Local pNewGT

                pNewGT: hb_gtCreate = ("WVT")

                TMP: = hb_gtSelect (pNewGT)

                cls

                ? "Alteration of the customers"

                INKEY (0)

                pNewGT: = nil

                hb_gtSelect (TMP)

        return

        function Delete ()

                local TMP

                Local pNewGT

                pNewGT: hb_gtCreate = ("WVT")

                TMP: = hb_gtSelect (pNewGT)

                cls

                ? "Exclusion of customers"

                INKEY (0)

                pNewGT: = nil

                hb_gtSelect (TMP)

        return

        function query ()

                local TMP

                Local pNewGT

                pNewGT: hb_gtCreate = ("WVT")

                TMP: = hb_gtSelect (pNewGT)

                cls

                ? "Query client"

                INKEY (0)

                pNewGT: = nil

                hb_gtSelect (TMP)

        return

 

Robert

Error message:

hbmk2: Processing environment options: -LC:\hmg.3.4.3\lib

       -LC:\hmg.3.4.3\include

Harbour 3.2.0dev (r1601151502)

Copyright (c) 1999-2015, http://harbour-project.org/

Compiling 'cadastro.prg'...

Lines 31043, Functions/Procedures 1

Generating C source output to 'C:\Users\rbtch\AppData\Local\Temp\hbmk_lcuvz7.dir\cadastro.c'... Done.

C:/Users/rbtch/AppData/Local/Temp/hbmk_lcuvz7.dir/cadastro.o:cadastro.c:(.data+0x38): undefined reference to `HB_FUN__DUMMY'

C:/Users/rbtch/AppData/Local/Temp/hbmk_lcuvz7.dir/cadastro.o:cadastro.c:(.data+0x48): undefined reference to `HB_FUN__DEFINEWINDOW'

C:/Users/rbtch/AppData/Local/Temp/hbmk_lcuvz7.dir/cadastro.o:cadastro.c:(.data+0x58): undefined reference to `HB_FUN__DEFINEMAINMENU'

C:/Users/rbtch/AppData/Local/Temp/hbmk_lcuvz7.dir/cadastro.o:cadastro.c:(.data+0x68): undefined reference to `HB_FUN__DEFINEMENUPOPUP'

C:/Users/rbtch/AppData/Local/Temp/hbmk_lcuvz7.dir/cadastro.o:cadastro.c:(.data+0x78): undefined reference to `HB_FUN__DEFINEMENUITEM'

C:/Users/rbtch/AppData/Local/Temp/hbmk_lcuvz7.dir/cadastro.o:cadastro.c:(.data+0x88): undefined reference to `HB_FUN_INCLUSION'

C:/Users/rbtch/AppData/Local/Temp/hbmk_lcuvz7.dir/cadastro.o:cadastro.c:(.data+0x98): undefined reference to `HB_FUN_ALTERATION'

C:/Users/rbtch/AppData/Local/Temp/hbmk_lcuvz7.dir/cadastro.o:cadastro.c:(.data+0xb8): undefined reference to `HB_FUN_QUERY'

C:/Users/rbtch/AppData/Local/Temp/hbmk_lcuvz7.dir/cadastro.o:cadastro.c:(.data+0xc8): undefined reference to `HB_FUN__ENDMENUPOPUP'

C:/Users/rbtch/AppData/Local/Temp/hbmk_lcuvz7.dir/cadastro.o:cadastro.c:(.data+0xd8): undefined reference to `HB_FUN__ENDMENU'

C:/Users/rbtch/AppData/Local/Temp/hbmk_lcuvz7.dir/cadastro.o:cadastro.c:(.data+0xe8): undefined reference to `HB_FUN__ENDWINDOW'

C:/Users/rbtch/AppData/Local/Temp/hbmk_lcuvz7.dir/cadastro.o:cadastro.c:(.data+0xf8): undefined reference to `HB_FUN__ACTIVATEWINDOW'

collect2.exe: error: ld returned 1 exit status

hbmk2: Error: Running linker. 1

gcc.exe C:/Users/rbtch/AppData/Local/Temp/hbmk_lcuvz7.dir/cadastro.o C:/Users/rbtch/AppData/Local/Temp/hbmk_lcuvz7.dir/hbmk_zswnun.o    -mwindows -Wl,--start-group -lhbextern -lhbdebug -lhbvm -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 -ocadastro.exe  -LC:/hmg.3.4.3/harbour/lib/win/mingw -LC:/hmg.3.4.3/lib -LC:/hmg.3.4.3/include

 

hbmk2: Error: Referenced, missing, but unknown function(s): _DUMMY(),

       _DEFINEWINDOW(), _DEFINEMAINMENU(), _DEFINEMENUPOPUP(),

       _DEFINEMENUITEM(), INCLUSION(), ALTERATION(), QUERY(), _ENDMENUPOPUP(),

       _ENDMENU(), _ENDWINDOW(), _ACTIVATEWINDOW()

 


Auge & Ohr 在 2022年3月10日 星期四下午3:11:50 [UTC+8] 的信中寫道:

Auge & Ohr

unread,
Mar 10, 2022, 12:58:41 PM3/10/22
to Harbour Users
hi Robert,

> #Include "minigui.ch"

MiniGUI Extended Source is not compatible with HMG
MiniGUI Extended Version use BCC with *.LIB while HMG use MinGW and *.a

---

you can try change "minigui.ch" to "HMG.CH"
but you have to check Property which MiniGUI have but HMG not

Jimmy
p.s. you do not need write Property when it is "NIL"
Reply all
Reply to author
Forward
0 new messages