moving to MSVC 32 bits

User avatar
lucasdebeltran
Posts: 1303
Joined: Tue Jul 21, 2009 8:12 am
Contact:

Re: moving to MSVC 32 bits

Post by lucasdebeltran »

Rimantas,

The express version is free, but you have to register to obtain a free key code.

It works very good.
Muchas gracias. Many thanks.

Un saludo, Best regards,

Harbour 3.2.0dev, Borland C++ 5.82 y FWH 13.06 [producción]

Implementando MSVC 2010, FWH64 y ADO.

Abandonando uso xHarbour y SQLRDD.
User avatar
Rimantas
Posts: 437
Joined: Fri Oct 07, 2005 12:56 pm
Location: Utena , Lithuania

Re: moving to MSVC 32 bits

Post by Rimantas »

lucasdebeltran wrote:Rimantas,

The express version is free, but you have to register to obtain a free key code.

It works very good.
Thanks for the answer Lucas ! It's good news .. :-) . So maybe I did not true choice - from mine search and Antonio direct it's the same . I directed to dowload Visual C++ 2010 Express . Now repeated instalation . In mine case D:\VS10 folder - no any SDK file ( kernel32.lib , user32.lib ) . Can't understand what I'm doing bad ... :(
Rimantas U.
User avatar
Richard Chidiak
Posts: 946
Joined: Thu Oct 06, 2005 7:05 pm
Location: France
Contact:

Re: moving to MSVC 32 bits

Post by Richard Chidiak »

Antonio

Is this the product to download ?

Visual Studio 2010 Express All-in-One ISO

Tia

Richard
http://www.cbati.com

Uestudio
Fwh 13.05 Harbour 3.2 MSVC 2013
User avatar
lucasdebeltran
Posts: 1303
Joined: Tue Jul 21, 2009 8:12 am
Contact:

Re: moving to MSVC 32 bits

Post by lucasdebeltran »

Hello,

Please, use this link:
http://go.microsoft.com/?linkid=9709949

It worked fine for me.

In fact, applications compiled with MSVC 2010 seems to be faster, particularry on painting.

Hope it helps.
Muchas gracias. Many thanks.

Un saludo, Best regards,

Harbour 3.2.0dev, Borland C++ 5.82 y FWH 13.06 [producción]

Implementando MSVC 2010, FWH64 y ADO.

Abandonando uso xHarbour y SQLRDD.
User avatar
TimStone
Posts: 2536
Joined: Fri Oct 07, 2005 1:45 pm
Location: Trabuco Canyon, CA USA
Contact:

Re: moving to MSVC 32 bits

Post by TimStone »

A few comments here.

1) Do not use FWH 11.12 ! Its time to upgrade. Antonio made a lot of updates in 2012 that related to MSVC, so you should get the current version !

2) There are other threads on this topic. In one I posted the UE Studio settings ( for their make file system ). I use that and it works very well, and is quite quick.

3) Generally your code should work fine, but there may be a few issues, especially with 3rd party products. You will want to post specific questions if you run into problems.

I have a VERY substantial app built with FWH / Harbour 3 / MSVC 2010. I only have one problem with that build which I need to work on with Antonio. Otherwise everything is now working beautifully.

Tim
Tim Stone
http://www.MasterLinkSoftware.com
timstone@masterlinksoftware.com
Using: FWH 19.06 with Harbour 3.2.0 / Microsoft Visual Studio Community 2019
User avatar
lucasdebeltran
Posts: 1303
Joined: Tue Jul 21, 2009 8:12 am
Contact:

Re: moving to MSVC 32 bits

Post by lucasdebeltran »

Timm,

Did you notice an increase on speed?.

Thanks.
Muchas gracias. Many thanks.

Un saludo, Best regards,

Harbour 3.2.0dev, Borland C++ 5.82 y FWH 13.06 [producción]

Implementando MSVC 2010, FWH64 y ADO.

Abandonando uso xHarbour y SQLRDD.
User avatar
Rimantas
Posts: 437
Joined: Fri Oct 07, 2005 12:56 pm
Location: Utena , Lithuania

Re: moving to MSVC 32 bits

Post by Rimantas »

lucasdebeltran wrote:Hello,

Please, use this link:
http://go.microsoft.com/?linkid=9709949

It worked fine for me.

In fact, applications compiled with MSVC 2010 seems to be faster, particularry on painting.

Hope it helps.
Thanks Lucas . It's the same package . I found SDK folder . Thought I directed install to D:\VS10 folder , SDK libs it writed to "C:\Program Files\Microsoft SDKs\Windows\v7.0A\Lib" . Now I'll try to build application ...

With best regards !
Rimantas U.
User avatar
Rimantas
Posts: 437
Joined: Fri Oct 07, 2005 12:56 pm
Location: Utena , Lithuania

Re: moving to MSVC 32 bits

Post by Rimantas »

TimStone wrote:A few comments here.

1) Do not use FWH 11.12 ! Its time to upgrade. Antonio made a lot of updates in 2012 that related to MSVC, so you should get the current version !

2) There are other threads on this topic. In one I posted the UE Studio settings ( for their make file system ). I use that and it works very well, and is quite quick.

3) Generally your code should work fine, but there may be a few issues, especially with 3rd party products. You will want to post specific questions if you run into problems.

I have a VERY substantial app built with FWH / Harbour 3 / MSVC 2010. I only have one problem with that build which I need to work on with Antonio. Otherwise everything is now working beautifully.

Tim
Thanks for your advice , Tim . I'll try MsVC with own old version and then will be seems what to do in future . Though Harbour + MinGW too is good ... :)
Rimantas U.
User avatar
TimStone
Posts: 2536
Joined: Fri Oct 07, 2005 1:45 pm
Location: Trabuco Canyon, CA USA
Contact:

Re: moving to MSVC 32 bits

Post by TimStone »

I haven't done speed tests. However, it may be a bit faster.

My main reason for moving to MSVC was compatibility. I have an old xHarbour build that I use still for my distributed product. I stopped paying for upgrades because there simply weren't any. There is so much new development in Windows and I feel it is good to use the newer tools.

I have Visual Studio 2012 but have not tried it yet with my builds.

The biggest issue is identifying all of the libraries that need to be used with the applications.

Tim
Tim Stone
http://www.MasterLinkSoftware.com
timstone@masterlinksoftware.com
Using: FWH 19.06 with Harbour 3.2.0 / Microsoft Visual Studio Community 2019
User avatar
Rimantas
Posts: 437
Joined: Fri Oct 07, 2005 12:56 pm
Location: Utena , Lithuania

Re: moving to MSVC 32 bits

Post by Rimantas »

lucasdebeltran wrote: It worked fine for me.
In fact, applications compiled with MSVC 2010 seems to be faster, particularry on painting.
Lucas , can you provide some help to me ? I installed VS 2010 Studio express , from Antonio get make files . Here it's mine first mak with VC ++ 2010 :

Code: Select all

#Microsoft VS2010 make sample, (c) FiveTech Software 2010

VCDIR=D:\VS10\VC
SDKDIR="C:\Program Files\Microsoft SDKs\Windows\v7.0A"
HBDIR=D:\a\hrbm
FWDIR=D:\a\fwh

.SUFFIXES: .prg .c .obj .rc .res

engel.exe : engel.obj func.obj func_dsg.obj func_dt.obj texcels.obj tarray.obj engel.res
   echo engel.obj func.obj func_dsg.obj func_dt.obj texcels.obj tarray.obj > msvc.tmp

   echo $(FWDIR)\lib\FiveH32.lib $(FWDIR)\lib\FiveHC32.lib >> msvc.tmp

   echo $(HBDIR)\lib\hbrtl.lib    >> msvc.tmp
   echo $(HBDIR)\lib\hbvm.lib     >> msvc.tmp
   echo $(HBDIR)\lib\gtgui.lib    >> msvc.tmp
   echo $(HBDIR)\lib\hblang.lib   >> msvc.tmp
   echo $(HBDIR)\lib\hbmacro.lib  >> msvc.tmp
   echo $(HBDIR)\lib\hbrdd.lib    >> msvc.tmp
   echo $(HBDIR)\lib\rddntx.lib   >> msvc.tmp
   echo $(HBDIR)\lib\rddcdx.lib   >> msvc.tmp
   echo $(HBDIR)\lib\rddfpt.lib   >> msvc.tmp
   echo $(HBDIR)\lib\hbsix.lib    >> msvc.tmp
   echo $(HBDIR)\lib\hbdebug.lib  >> msvc.tmp
   echo $(HBDIR)\lib\hbcommon.lib >> msvc.tmp
   echo $(HBDIR)\lib\hbpp.lib     >> msvc.tmp
   echo $(HBDIR)\lib\hbwin.lib    >> msvc.tmp
   echo $(HBDIR)\lib\hbcplr.lib   >> msvc.tmp
   echo $(HBDIR)\lib\xhb.lib      >> msvc.tmp
   echo $(HBDIR)\lib\hbpcre.lib   >> msvc.tmp
   echo $(HBDIR)\lib\hbct.lib     >> msvc.tmp
   echo $(HBDIR)\lib\hbcpage.lib  >> msvc.tmp

   echo $(SDKDIR)\lib\kernel32.lib  >> msvc.tmp
   echo $(SDKDIR)\lib\user32.lib    >> msvc.tmp
   echo $(SDKDIR)\lib\gdi32.lib     >> msvc.tmp
   echo $(SDKDIR)\lib\winspool.lib  >> msvc.tmp
   echo $(SDKDIR)\lib\comctl32.lib  >> msvc.tmp
   echo $(SDKDIR)\lib\comdlg32.lib  >> msvc.tmp
   echo $(SDKDIR)\lib\advapi32.lib  >> msvc.tmp
   echo $(SDKDIR)\lib\shell32.lib   >> msvc.tmp
   echo $(SDKDIR)\lib\ole32.lib     >> msvc.tmp
   echo $(SDKDIR)\lib\oleaut32.lib  >> msvc.tmp
   echo $(SDKDIR)\lib\uuid.lib      >> msvc.tmp
   echo $(SDKDIR)\lib\odbc32.lib    >> msvc.tmp
   echo $(SDKDIR)\lib\odbccp32.lib  >> msvc.tmp
   echo $(SDKDIR)\lib\iphlpapi.lib  >> msvc.tmp
   echo $(SDKDIR)\lib\mpr.lib       >> msvc.tmp
   echo $(SDKDIR)\lib\version.lib   >> msvc.tmp
   echo $(SDKDIR)\lib\wsock32.lib   >> msvc.tmp
   echo $(SDKDIR)\lib\msimg32.lib   >> msvc.tmp
   echo $(SDKDIR)\lib\oledlg.lib    >> msvc.tmp
   echo $(SDKDIR)\lib\psapi.lib     >> msvc.tmp
   echo $(SDKDIR)\lib\gdiplus.lib   >> msvc.tmp
   echo $(SDKDIR)\lib\winmm.lib     >> msvc.tmp

   IF EXIST engel.res echo engel.res >> msvc.tmp

   SET LIB=$(VCDIR)\lib
   $(VCDIR)\bin\link @msvc.tmp /nologo /subsystem:windows /force:multiple /NODEFAULTLIB:libc > link.log
   @type link.log
   @del engel.c
   @del func.c
   @del func_dsg.c
   @del func_dt.c   
   @del texcels.c   
   @del tarray.c
   @del msvc.tmp

engel.obj   : engel.c
func.obj    : func.c
func_dsg.obj : func_dsg.c
func_dt.obj : func_dt.c
texcels.obj : texcels.c
tarray.obj  : tarray.c

engel.c   : engel.prg
func.c   : func.prg
func_dsg.c : func_dsg.prg
func_dt.c : func_dt.prg
texcels.c : texcels.prg
tarray.c : tarray.prg

engel.res : engel.rc
   $(VCDIR)\bin\rc.exe -r -d__FLAT__ engel.rc 

.prg.c:
   $(HBDIR)\bin\harbour $< /n /i$(FWDIR)\include;$(HBDIR)\include

.c.obj:
   $(VCDIR)\bin\cl.exe -c -TP -W3 -I$(HBDIR)\include -I$(SDKDIR)\include -I$(VCDIR)\include $<

 


At first was error with cl.exe . I found that it's needfull to run VC ++ env.vars bat file . OK , run to cmd , run env. vars bat , run own make ( D:\VS10\VC\bin\nmake -fgo2.mak ) . Now I'm getting error with link - nmake fatal error U1077 : '\VS10\VC\bin\link' return code 0x460 . Can't understand - I alreday run vars bat . What I must to do also ? And maybe exist other solution with that enviroments vars ? It's very undoubt - it must run with cmd box .

Added :
I didn't noticed link log - maybe problem it's here :

Code: Select all

   Creating library engel.lib and object engel.exp
engel.obj : error LNK2001: unresolved external symbol _HB_FUN_TMYSQLSERVER
engel.obj : error LNK2001: unresolved external symbol _HB_FUN_TVISTAMENU
FiveH32.lib(HELP32.obj) : error LNK2001: unresolved external symbol _HB_FUN_FREELIBRARY
FiveH32.lib(PRV2PDF.obj) : error LNK2001: unresolved external symbol _HB_FUN_FREELIBRARY
FiveH32.lib(TMETAFIL.obj) : error LNK2001: unresolved external symbol _HB_FUN_FREELIBRARY
FiveH32.lib(HARBOUR.obj) : error LNK2019: unresolved external symbol _HB_FUN_FREELIBRARY referenced in function _HB_FUN_OLEGETPROPERTY
FiveH32.lib(GETTASKS.obj) : error LNK2001: unresolved external symbol _HB_FUN_FREELIBRARY
FiveH32.lib(INI.obj) : error LNK2001: unresolved external symbol _HB_FUN_FREELIBRARY
FiveH32.lib(IMAGE.obj) : error LNK2001: unresolved external symbol _HB_FUN_FREELIBRARY
FiveH32.lib(DIALOG.obj) : error LNK2001: unresolved external symbol _HB_FUN_FREELIBRARY
FiveH32.lib(WINDOW.obj) : error LNK2001: unresolved external symbol _HB_FUN_FREELIBRARY
FiveH32.lib(FILENAME.obj) : error LNK2001: unresolved external symbol _HB_FUN_FREELIBRARY
FiveH32.lib(SHELLAPI.obj) : error LNK2001: unresolved external symbol _HB_FUN_FREELIBRARY
FiveH32.lib(HELP32.obj) : error LNK2001: unresolved external symbol _HB_FUN_LOADLIBRARY
FiveH32.lib(PRV2PDF.obj) : error LNK2001: unresolved external symbol _HB_FUN_LOADLIBRARY
FiveH32.lib(TMETAFIL.obj) : error LNK2001: unresolved external symbol _HB_FUN_LOADLIBRARY
FiveH32.lib(HARBOUR.obj) : error LNK2001: unresolved external symbol _HB_FUN_LOADLIBRARY
FiveH32.lib(GETTASKS.obj) : error LNK2001: unresolved external symbol _HB_FUN_LOADLIBRARY
FiveH32.lib(INI.obj) : error LNK2001: unresolved external symbol _HB_FUN_LOADLIBRARY
FiveH32.lib(IMAGE.obj) : error LNK2001: unresolved external symbol _HB_FUN_LOADLIBRARY
FiveH32.lib(DIALOG.obj) : error LNK2001: unresolved external symbol _HB_FUN_LOADLIBRARY
FiveH32.lib(WINDOW.obj) : error LNK2001: unresolved external symbol _HB_FUN_LOADLIBRARY
FiveH32.lib(FILENAME.obj) : error LNK2019: unresolved external symbol _HB_FUN_LOADLIBRARY referenced in function _HB_FUN_CFILESUBDIR
FiveH32.lib(SHELLAPI.obj) : error LNK2001: unresolved external symbol _HB_FUN_LOADLIBRARY
FiveH32.lib(WINDOW.obj) : error LNK2001: unresolved external symbol _HB_FUN_XFREEPROC
engel.exe : fatal error LNK1120: 5 unresolved externals
 
Added again : how to build libmysql.lib from dll ? At first it must me created def file - how ? Manually ? Can any share with info ? :-)

With best regards !
Last edited by Rimantas on Tue Feb 26, 2013 5:39 pm, edited 1 time in total.
Rimantas U.
User avatar
lucasdebeltran
Posts: 1303
Joined: Tue Jul 21, 2009 8:12 am
Contact:

Re: moving to MSVC 32 bits

Post by lucasdebeltran »

Rimatas,

Errors at Five32 are due to you are using and old FWH version. I don´t get those errors with latest builds.

And the errors at engel.obj are because you are not linking TMYSQLSERVER function/class and TVISTAMENU. Latest, TVISTAMENU, is from Canal5 and included in Fivewin, maybe you made your own class or it is not included by mistake in your current FW version.

Maybe the fastest way to solve such problems, appart from TMYSQLSERVER, is updating your FWH version.

Regards,
Muchas gracias. Many thanks.

Un saludo, Best regards,

Harbour 3.2.0dev, Borland C++ 5.82 y FWH 13.06 [producción]

Implementando MSVC 2010, FWH64 y ADO.

Abandonando uso xHarbour y SQLRDD.
User avatar
Rimantas
Posts: 437
Joined: Fri Oct 07, 2005 12:56 pm
Location: Utena , Lithuania

Re: moving to MSVC 32 bits

Post by Rimantas »

lucasdebeltran wrote:Rimatas,

Errors at Five32 are due to you are using and old FWH version. I don´t get those errors with latest builds.

And the errors at engel.obj are because you are not linking TMYSQLSERVER function/class and TVISTAMENU. Latest, TVISTAMENU, is from Canal5 and included in Fivewin, maybe you made your own class or it is not included by mistake in your current FW version.

Maybe the fastest way to solve such problems, appart from TMYSQLSERVER, is updating your FWH version.

Regards,
So Antonio sold to me a very buggy product ... :) . TVistaMenu alreday existed in mine version . Maybe you know how to build libmysql lib from dll ? And how you are directing VC ++ vars ?
Rimantas U.
User avatar
lucasdebeltran
Posts: 1303
Joined: Tue Jul 21, 2009 8:12 am
Contact:

Re: moving to MSVC 32 bits

Post by lucasdebeltran »

Rimatas,

I set up the enviroment variables in vcvars in the system enviroment at Control Panel.

To create the lib:
impdef.exe mydll.def mydll.dll
lib.exe /def:mydll.def /out:mydll.def

The problem at your FWH build was that no one were using msvc 2010. Due to Timm Stone´s interest, Antonio reacted very quickly and professional as usual and updated and make it fully compilant. It is important to keep the product updated to get latest changes.

Hope it helps.
Muchas gracias. Many thanks.

Un saludo, Best regards,

Harbour 3.2.0dev, Borland C++ 5.82 y FWH 13.06 [producción]

Implementando MSVC 2010, FWH64 y ADO.

Abandonando uso xHarbour y SQLRDD.
User avatar
Rimantas
Posts: 437
Joined: Fri Oct 07, 2005 12:56 pm
Location: Utena , Lithuania

Re: moving to MSVC 32 bits

Post by Rimantas »

lucasdebeltran wrote: I set up the enviroment variables in vcvars in the system enviroment at Control Panel.
To create the lib:
impdef.exe mydll.def mydll.dll
lib.exe /def:mydll.def /out:mydll.def

The problem at your FWH build was that no one were using msvc 2010. Due to Timm Stone´s interest, Antonio reacted very quickly and professional as usual and updated and make it fully compilant. It is important to keep the product updated to get latest changes.
Many thanks to you , Lucas ! :)
User avatar
Antonio Linares
Site Admin
Posts: 37481
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain
Contact:

Re: moving to MSVC 32 bits

Post by Antonio Linares »

Rimantas,

Microsoft delivers updates for Windows constantly, does that mean that Windows is buggy ? Not in my opinion, simply that a product can be enhanced and improved. The problem is not that there are bugs, the problem is that they may not get solved :-)

We publish new builds every month since years, I think that shows a great commitment to deliver updates that enhance FWH constantly and a very fast response to solve bugs :-)
regards, saludos

Antonio Linares
www.fivetechsoft.com
Post Reply