FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin for Harbour/xHarbour Visual interface for Harbour hbmk2.exe
Posts: 44158
Joined: Thu Oct 06, 2005 05:47 PM
Re: Visual interface for Harbour hbmk2.exe
Posted: Tue Mar 19, 2013 05:38 PM
regards, saludos

Antonio Linares
www.fivetechsoft.com
Posts: 44158
Joined: Thu Oct 06, 2005 05:47 PM
Re: Visual interface for Harbour hbmk2.exe
Posted: Fri Mar 22, 2013 12:23 AM
regards, saludos

Antonio Linares
www.fivetechsoft.com
Posts: 437
Joined: Fri Oct 07, 2005 12:56 PM
Re: Visual interface for Harbour hbmk2.exe
Posted: Sat Mar 23, 2013 06:39 PM
Antonio Linares wrote:Enhanced version with HBCs and defines support:
[/img]


Can't to add Dolphin lib for harbour+mingw ( libdolphin.a ) . It let to add only .lib files . Maker directed to C compiler MinGW .

Regards!
Rimantas U.
Posts: 44158
Joined: Thu Oct 06, 2005 05:47 PM
Re: Visual interface for Harbour hbmk2.exe
Posted: Sat Mar 23, 2013 10:12 PM
Rimantas,

Please change this in vmh.prg line 294:

Code (fw): Select all Collapse
function BuildFldButtons( oFld )

   local oBtn, cFileName

   @ 1, 350 BUTTON oBtn PROMPT "+" OF oFld SIZE 18, 18 PIXEL ;
      ACTION ( cFileName := cGetFile( { "*.prg", "*.c", "*.obj", If( cCCompiler == "MinGW", "*.a", "*.lib" ), "*.rc", "*.hbc" }[ oFld:nOption ],;
      ...
regards, saludos

Antonio Linares
www.fivetechsoft.com
Posts: 437
Joined: Fri Oct 07, 2005 12:56 PM
Re: Visual interface for Harbour hbmk2.exe
Posted: Sun Mar 24, 2013 08:19 AM
Antonio Linares wrote:Rimantas,

Please change this in vmh.prg line 294:

Code (fw): Select all Collapse
function BuildFldButtons( oFld )

   local oBtn, cFileName

   @ 1, 350 BUTTON oBtn PROMPT "+" OF oFld SIZE 18, 18 PIXEL ;
      ACTION ( cFileName := cGetFile( { "*.prg", "*.c", "*.obj", If( cCCompiler == "MinGW", "*.a", "*.lib" ), "*.rc", "*.hbc" }[ oFld:nOption ],;
      ...


Changed , Rebuild , with lib now is OK . Build own project - get an message "can't find hbmk2.exe" . This first line of your maker is bad : "D:\A\Vmh>set path=c:\mingw\bin" . Standard harbour suggest install mingw in main harbour folder as comp folder . In mine case this will be : D:\A\hb32\comp\mingw . So it must directed true compiler folder . Another error ( D:/A/FWH/lib/fivehg.lib(LEGACY.o):LEGACY.c:(.text+0x5bf): multiple definition of `HB_FUN_OLE2TXTERROR' ) - missed this "-Wl,--allow-multiple-definition" . Where it can de directed ?

Your maker is using system temp directory "Generating C source output to 'C:\Tmp\hbmk_1i0wmy.dir\tarray.c'... Done." . But for me it's better to direct where building must work ...

out.log:
Code (fw): Select all Collapse
D:\A\Vmh>set path=c:\mingw\bin 

D:\A\Vmh>D:\A\hb32\bin\hbmk2.exe -comp=mingw -iD:\A\FWH\include -lfivehg -lfivehgc -LD:\A\FWH\lib xhb.hbc -gtgui D:\A\Amdi3\engel.prg D:\A\Amdi3\func.prg D:\A\Amdi3\func_brw.prg D:\A\Amdi3\func_dsg.prg D:\A\Amdi3\func_dt.prg D:\A\Amdi3\tarray.prg   D:\A\hb32\lib\win\mingw\libdolphin.a   
Harbour 3.2.0dev (Rev. 18911)
Copyright (c) 1999-2013, http://harbour-project.org/

...
Lines 3924, Functions/Procedures 4
Generating C source output to 'C:\Tmp\hbmk_1i0wmy.dir\tarray.c'... Done.
D:/A/FWH/lib/fivehg.lib(LEGACY.o):LEGACY.c:(.text+0x5bf): multiple definition of `HB_FUN_OLE2TXTERROR'
D:/A/hb32/lib/win/mingw/libdolphin.a(tdolpexp.o):tdolpexp.c:(.text+0x39): first defined here
D:/A/hb32/lib/win/mingw/libdolphin.a(function.o):function.c:(.text+0x24): undefined reference to `mysql_close@4'
D:/A/hb32/lib/win/mingw/libdolphin.a(function.o):function.c:(.text+0x5a): undefined reference to `mysql_free_result@4'
D:/A/hb32/lib/win/mingw/libdolphin.a(function.o):function.c:(.text+0x1b5): undefined reference to `mysql_escape_string@12'
D:/A/hb32/lib/win/mingw/libdolphin.a(function.o):function.c:(.text+0x2a0): undefined reference to `mysql_real_escape_string@16'
D:/A/hb32/lib/win/mingw/libdolphin.a(function.o):function.c:(.text+0x3ae): undefined reference to `mysql_num_rows@4'
D:/A/hb32/lib/win/mingw/libdolphin.a(function.o):function.c:(.text+0x3e4): undefined reference to `mysql_data_seek@12'
D:/A/hb32/lib/win/mingw/libdolphin.a(function.o):function.c:(.text+0x3f2): undefined reference to `mysql_fetch_row@4'
D:/A/hb32/lib/win/mingw/libdolphin.a(function.o):function.c:(.text+0x403): undefined reference to `mysql_fetch_lengths@4'
D:/A/hb32/lib/win/mingw/libdolphin.a(function.o):function.c:(.text+0x4c0): undefined reference to `mysql_get_server_info@4'
D:/A/hb32/lib/win/mingw/libdolphin.a(function.o):function.c:(.text+0x506): undefined reference to `mysql_get_client_info@0'
D:/A/hb32/lib/win/mingw/libdolphin.a(function.o):function.c:(.text+0x53d): undefined reference to `mysql_commit@4'
D:/A/hb32/lib/win/mingw/libdolphin.a(function.o):function.c:(.text+0x609): undefined reference to `mysql_init@4'
D:/A/hb32/lib/win/mingw/libdolphin.a(function.o):function.c:(.text+0x71c): undefined reference to `mysql_real_connect@32'
D:/A/hb32/lib/win/mingw/libdolphin.a(function.o):function.c:(.text+0x769): undefined reference to `mysql_next_result@4'
D:/A/hb32/lib/win/mingw/libdolphin.a(function.o):function.c:(.text+0x7dd): undefined reference to `mysql_close@4'
D:/A/hb32/lib/win/mingw/libdolphin.a(function.o):function.c:(.text+0x822): undefined reference to `mysql_data_seek@12'
D:/A/hb32/lib/win/mingw/libdolphin.a(function.o):function.c:(.text+0x85a): undefined reference to `mysql_error@4'
D:/A/hb32/lib/win/mingw/libdolphin.a(function.o):function.c:(.text+0x8bb): undefined reference to `mysql_field_count@4'
D:/A/hb32/lib/win/mingw/libdolphin.a(function.o):function.c:(.text+0x910): undefined reference to `mysql_free_result@4'
D:/A/hb32/lib/win/mingw/libdolphin.a(function.o):function.c:(.text+0x950): undefined reference to `mysql_num_fields@4'
D:/A/hb32/lib/win/mingw/libdolphin.a(function.o):function.c:(.text+0x961): undefined reference to `mysql_fetch_row@4'
D:/A/hb32/lib/win/mingw/libdolphin.a(function.o):function.c:(.text+0x972): undefined reference to `mysql_fetch_lengths@4'
D:/A/hb32/lib/win/mingw/libdolphin.a(function.o):function.c:(.text+0xa45): undefined reference to `mysql_errno@4'
D:/A/hb32/lib/win/mingw/libdolphin.a(function.o):function.c:(.text+0xac3): undefined reference to `mysql_list_tables@8'
D:/A/hb32/lib/win/mingw/libdolphin.a(function.o):function.c:(.text+0xade): undefined reference to `mysql_num_rows@4'
D:/A/hb32/lib/win/mingw/libdolphin.a(function.o):function.c:(.text+0xb06): undefined reference to `mysql_fetch_row@4'
D:/A/hb32/lib/win/mingw/libdolphin.a(function.o):function.c:(.text+0xb5f): undefined reference to `mysql_free_result@4'
D:/A/hb32/lib/win/mingw/libdolphin.a(function.o):function.c:(.text+0xbce): undefined reference to `mysql_list_dbs@8'
D:/A/hb32/lib/win/mingw/libdolphin.a(function.o):function.c:(.text+0xbe9): undefined reference to `mysql_num_rows@4'
D:/A/hb32/lib/win/mingw/libdolphin.a(function.o):function.c:(.text+0xc11): undefined reference to `mysql_fetch_row@4'
D:/A/hb32/lib/win/mingw/libdolphin.a(function.o):function.c:(.text+0xc6a): undefined reference to `mysql_free_result@4'
D:/A/hb32/lib/win/mingw/libdolphin.a(function.o):function.c:(.text+0xcb0): undefined reference to `mysql_num_rows@4'
D:/A/hb32/lib/win/mingw/libdolphin.a(function.o):function.c:(.text+0xd1d): undefined reference to `mysql_options@12'
D:/A/hb32/lib/win/mingw/libdolphin.a(function.o):function.c:(.text+0xd8e): undefined reference to `mysql_ping@4'
D:/A/hb32/lib/win/mingw/libdolphin.a(function.o):function.c:(.text+0xe18): undefined reference to `mysql_real_query@12'
D:/A/hb32/lib/win/mingw/libdolphin.a(function.o):function.c:(.text+0xe83): undefined reference to `mysql_rollback@4'
D:/A/hb32/lib/win/mingw/libdolphin.a(function.o):function.c:(.text+0xf03): undefined reference to `mysql_select_db@8'
D:/A/hb32/lib/win/mingw/libdolphin.a(function.o):function.c:(.text+0xf87): undefined reference to `mysql_list_fields@12'
D:/A/hb32/lib/win/mingw/libdolphin.a(function.o):function.c:(.text+0x104a): undefined reference to `mysql_num_fields@4'
D:/A/hb32/lib/win/mingw/libdolphin.a(function.o):function.c:(.text+0x1067): undefined reference to `mysql_fetch_field@4'
D:/A/hb32/lib/win/mingw/libdolphin.a(function.o):function.c:(.text+0x12df): undefined reference to `mysql_num_fields@4'
D:/A/hb32/lib/win/mingw/libdolphin.a(function.o):function.c:(.text+0x12f0): undefined reference to `mysql_fetch_lengths@4'
D:/A/hb32/lib/win/mingw/libdolphin.a(function.o):function.c:(.text+0x1311): undefined reference to `mysql_data_seek@12'
D:/A/hb32/lib/win/mingw/libdolphin.a(function.o):function.c:(.text+0x131f): undefined reference to `mysql_num_rows@4'
D:/A/hb32/lib/win/mingw/libdolphin.a(function.o):function.c:(.text+0x141d): undefined reference to `mysql_fetch_row@4'
D:/A/hb32/lib/win/mingw/libdolphin.a(function.o):function.c:(.text+0x148a): undefined reference to `mysql_store_result@4'
D:/A/hb32/lib/win/mingw/libdolphin.a(function.o):function.c:(.text+0x14eb): undefined reference to `mysql_use_result@4'
D:/A/hb32/lib/win/mingw/libdolphin.a(function.o):function.c:(.text+0x19a6): undefined reference to `mysql_real_escape_string@16'
D:/A/hb32/lib/win/mingw/libdolphin.a(function.o):function.c:(.text+0x19c7): undefined reference to `mysql_escape_string@12'
D:/A/hb32/lib/win/mingw/libdolphin.a(function.o):function.c:(.text+0x1c78): undefined reference to `mysql_server_init@12'
D:/A/hb32/lib/win/mingw/libdolphin.a(function.o):function.c:(.text+0x1c8f): undefined reference to `mysql_init@4'
D:/A/hb32/lib/win/mingw/libdolphin.a(function.o):function.c:(.text+0x1cba): undefined reference to `mysql_options@12'
D:/A/hb32/lib/win/mingw/libdolphin.a(function.o):function.c:(.text+0x1cff): undefined reference to `mysql_real_connect@32'
D:/A/hb32/lib/win/mingw/libdolphin.a(function.o):function.c:(.text+0x1d11): undefined reference to `mysql_close@4'
D:/A/hb32/lib/win/mingw/libdolphin.a(function.o):function.c:(.text+0x1d19): undefined reference to `mysql_server_end@0'
D:/A/hb32/lib/win/mingw/libdolphin.a(function.o):function.c:(.text+0x1dff): undefined reference to `mysql_data_seek@12'
D:/A/hb32/lib/win/mingw/libdolphin.a(function.o):function.c:(.text+0x1e0d): undefined reference to `mysql_fetch_row@4'
D:/A/hb32/lib/win/mingw/libdolphin.a(function.o):function.c:(.text+0x1e1e): undefined reference to `mysql_fetch_lengths@4'
D:/A/hb32/lib/win/mingw/libdolphin.a(function.o):function.c:(.text+0x20a8): undefined reference to `mysql_num_rows@4'
D:/A/hb32/lib/win/mingw/libdolphin.a(function.o):function.c:(.text+0x22c3): undefined reference to `mysql_data_seek@12'
D:/A/hb32/lib/win/mingw/libdolphin.a(function.o):function.c:(.text+0x22d1): undefined reference to `mysql_fetch_row@4'
D:/A/hb32/lib/win/mingw/libdolphin.a(function.o):function.c:(.text+0x2504): undefined reference to `mysql_num_rows@4'
D:/A/hb32/lib/win/mingw/libdolphin.a(function.o):function.c:(.text+0x271a): undefined reference to `mysql_num_rows@4'
D:/A/hb32/lib/win/mingw/libdolphin.a(function.o):function.c:(.text+0x2750): undefined reference to `mysql_data_seek@12'
D:/A/hb32/lib/win/mingw/libdolphin.a(function.o):function.c:(.text+0x275e): undefined reference to `mysql_fetch_row@4'
D:/A/hb32/lib/win/mingw/libdolphin.a(function.o):function.c:(.text+0x29ab): undefined reference to `mysql_real_query@12'
D:/A/hb32/lib/win/mingw/libdolphin.a(function.o):function.c:(.text+0x29c1): undefined reference to `mysql_use_result@4'
D:/A/hb32/lib/win/mingw/libdolphin.a(function.o):function.c:(.text+0x29e3): undefined reference to `mysql_num_fields@4'
D:/A/hb32/lib/win/mingw/libdolphin.a(function.o):function.c:(.text+0x29f4): undefined reference to `mysql_fetch_fields@4'
D:/A/hb32/lib/win/mingw/libdolphin.a(function.o):function.c:(.text+0x2dd3): undefined reference to `mysql_fetch_row@4'
D:/A/hb32/lib/win/mingw/libdolphin.a(function.o):function.c:(.text+0x2e73): undefined reference to `mysql_free_result@4'
D:/A/hb32/lib/win/mingw/libdolphin.a(function.o):function.c:(.text+0x2e83): undefined reference to `mysql_error@4'
D:/A/hb32/lib/win/mingw/libdolphin.a(function.o):function.c:(.text+0x2e93): undefined reference to `mysql_sqlstate@4'
D:/A/hb32/lib/win/mingw/libdolphin.a(function.o):function.c:(.text+0x2ea3): undefined reference to `mysql_errno@4'
D:/A/hb32/lib/win/mingw/libdolphin.a(function.o):function.c:(.text+0x2f23): undefined reference to `mysql_set_server_option@8'
D:/A/hb32/lib/win/mingw/libdolphin.a(function.o):function.c:(.text+0x2f3e): undefined reference to `mysql_set_server_option@8'
D:/A/FWH/lib/fivehg.lib(GETTASKS.o):GETTASKS.c:(.text+0x180): undefined reference to `GetModuleFileNameExA@16'
D:/A/FWH/lib/fivehgc.lib(RICHEDIT.o):RICHEDIT.C:(.text+0xa45): undefined reference to `OleUIPasteSpecialA@4'
D:/A/FWH/lib/fivehgc.lib(RICHEDIT.o):RICHEDIT.C:(.text+0x12de): undefined reference to `GetFileVersionInfoSizeA@8'
D:/A/FWH/lib/fivehgc.lib(RICHEDIT.o):RICHEDIT.C:(.text+0x1346): undefined reference to `GetFileVersionInfoA@16'
D:/A/FWH/lib/fivehgc.lib(RICHEDIT.o):RICHEDIT.C:(.text+0x1370): undefined reference to `VerQueryValueA@16'
collect2: ld returned 1 exit status


Regards !
Rimantas U.
Posts: 44158
Joined: Thu Oct 06, 2005 05:47 PM
Re: Visual interface for Harbour hbmk2.exe
Posted: Sun Mar 24, 2013 04:56 PM
Enhanced version with selectable C compiler path:

https://code.google.com/p/fivewin-contributions/downloads/detail?name=vmh_20130324.zip&can=2&q=

Rimantas, still pending to implement the multiple flag

regards, saludos

Antonio Linares
www.fivetechsoft.com
Posts: 44158
Joined: Thu Oct 06, 2005 05:47 PM
Re: Visual interface for Harbour hbmk2.exe
Posted: Sat Mar 30, 2013 02:01 PM
regards, saludos

Antonio Linares
www.fivetechsoft.com
Posts: 6983
Joined: Fri Oct 07, 2005 07:07 PM
Re: Visual interface for Harbour hbmk2.exe
Posted: Sun Apr 07, 2013 11:53 PM

Hello Antonio,
can you please show how to use Visual interface.
Are there ini-files to start with the sample prgs.
Thanks in advance
Otto

Posts: 44158
Joined: Thu Oct 06, 2005 05:47 PM
Re: Visual interface for Harbour hbmk2.exe
Posted: Mon Apr 08, 2013 06:26 AM

Otto,

To start select your main PRG, then go to settings and select the hbmk2.exe path and your FWH path, click save.

Then click build and you are done :-)

If you have additional PRGs or LIBs, add them from the main folder. that simple :-)

regards, saludos

Antonio Linares
www.fivetechsoft.com
Posts: 6983
Joined: Fri Oct 07, 2005 07:07 PM
Re: Visual interface for Harbour hbmk2.exe
Posted: Mon Apr 08, 2013 10:23 AM

Hello Antonio,
thank you.

I have a totally clean machine and have installed
New FTDN March/Marzo 2013 (FWH 13.03)

fwh.exe
harbour_bcc582_20130228.zip
harbour_bcc582_20130228.zip

There is no hbmk2.exe in xHarbour.

How can I save my projects?

Thanks in advance
Otto

Posts: 6983
Joined: Fri Oct 07, 2005 07:07 PM
Re: Visual interface for Harbour hbmk2.exe
Posted: Mon Apr 08, 2013 10:30 AM

Dear Antonio,
do I have to add all libs and files which are mentioned in
buildh.bat?

Maybe you can provide a ready INI for testdlg.prg?

Thanks in advance
Otto

Posts: 1387
Joined: Fri May 23, 2008 01:33 PM
Re: Visual interface for Harbour hbmk2.exe
Posted: Tue Apr 09, 2013 07:51 PM

Hi Antonio,

1) Can we create console application with vmh.exe (without gtXXX or fw)?

2) Can we create lib with vmh.exe?

3) I have written prg files but vmh.exe cannot compile them. (in clipper with /n parameter)

Thanks.

Regards,



Hakan ONEMLI



Harbour & MSVC 2022 & FWH 23.06
Posts: 44158
Joined: Thu Oct 06, 2005 05:47 PM
Re: Visual interface for Harbour hbmk2.exe
Posted: Tue Apr 09, 2013 07:57 PM

Otto,

hbmk2.exe is for Harbour only. It does not work with xHarbour. It does not exist for xHarbour.

You don't need to specify any libraries at all (except your own ones). vmh.exe is just a GUI for hbmk2.exe and hbmk2.exe automatically links all the required libraries.

If you run vmh.exe from your app folder, an ini file will be automatically created with your project files. Really easy and simple :-)

regards, saludos

Antonio Linares
www.fivetechsoft.com
Posts: 44158
Joined: Thu Oct 06, 2005 05:47 PM
Re: Visual interface for Harbour hbmk2.exe
Posted: Tue Apr 09, 2013 08:06 PM
Hakan,

1) Can we create console application with vmh.exe (without gtXXX or fw)?


Yes, just uncheck "use FWH" :-)

2) Can we create lib with vmh.exe?


Not yet. hbmk2.exe supports it, but not vmh.prg yet

3) I have written prg files but vmh.exe cannot compile them. (in clipper with /n parameter)


Can you compile them using harbour.exe ?
regards, saludos

Antonio Linares
www.fivetechsoft.com
Posts: 6983
Joined: Fri Oct 07, 2005 07:07 PM
Re: Visual interface for Harbour hbmk2.exe
Posted: Tue Apr 09, 2013 08:36 PM

Hello Antonio,
I get following error:

failed in final assembly (linker or library manager)

c:\FWH\samples>set path=C:\bcc582\bin

c:\FWH\samples>C:\harbour\bin\hbmk2.exe -comp=bcc -ic:\fwh\include -lfiveh -lfivehc -Lc:\fwh\lib -lc:\bcc582\lib\psdk\psapi xhb.hbc -gtgui C:\fwh\samples\xbrwin7b.prg
Harbour 3.2.0dev (Rev. 18881)
Copyright (c) 1999-2013, http://harbour-project.org/
Compiling 'C:\fwh\samples\xbrwin7b.prg'...

Lines 4379, Functions/Procedures 1
Generating C source output to 'C:\Users\SCHULB~1\AppData\Local\Temp\hbmk_e0qft6.dir\xbrwin7b.c'... Done.
C:\Users\SCHULB~1\AppData\Local\Temp\hbmk_e0qft6.dir\xbrwin7b.c:
C:\Users\SCHULB~1\AppData\Local\Temp\hbmk_er9zct.c:
Turbo Incremental Link 5.69 Copyright (c) 1997-2005 Borland
Error: Unresolved external '_HB_FUN_TOLEAUTO' referenced from C:\FWH\LIB\FIVEH.LIB|HARBOUR

Can you please help me.
Thanks in advance
Otto