moving to MSVC 32 bits
- lucasdebeltran
- Posts: 1303
- Joined: Tue Jul 21, 2009 8:12 am
- Contact:
Re: moving to MSVC 32 bits
Rimantas,
The express version is free, but you have to register to obtain a free key code.
It works very good.
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.
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.
Re: moving to MSVC 32 bits
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 ...lucasdebeltran wrote:Rimantas,
The express version is free, but you have to register to obtain a free key code.
It works very good.
Rimantas U.
- Richard Chidiak
- Posts: 946
- Joined: Thu Oct 06, 2005 7:05 pm
- Location: France
- Contact:
Re: moving to MSVC 32 bits
Antonio
Is this the product to download ?
Visual Studio 2010 Express All-in-One ISO
Tia
Richard
Is this the product to download ?
Visual Studio 2010 Express All-in-One ISO
Tia
Richard
- lucasdebeltran
- Posts: 1303
- Joined: Tue Jul 21, 2009 8:12 am
- Contact:
Re: moving to MSVC 32 bits
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.
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.
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.
Re: moving to MSVC 32 bits
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
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
http://www.MasterLinkSoftware.com
timstone@masterlinksoftware.com
Using: FWH 19.06 with Harbour 3.2.0 / Microsoft Visual Studio Community 2019
- lucasdebeltran
- Posts: 1303
- Joined: Tue Jul 21, 2009 8:12 am
- Contact:
Re: moving to MSVC 32 bits
Timm,
Did you notice an increase on speed?.
Thanks.
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.
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.
Re: moving to MSVC 32 bits
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 ...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.
With best regards !
Rimantas U.
Re: moving to MSVC 32 bits
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 ...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
Rimantas U.
Re: moving to MSVC 32 bits
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
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
http://www.MasterLinkSoftware.com
timstone@masterlinksoftware.com
Using: FWH 19.06 with Harbour 3.2.0 / Microsoft Visual Studio Community 2019
Re: moving to MSVC 32 bits
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 :lucasdebeltran wrote: It worked fine for me.
In fact, applications compiled with MSVC 2010 seems to be faster, particularry on painting.
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
With best regards !
Last edited by Rimantas on Tue Feb 26, 2013 5:39 pm, edited 1 time in total.
Rimantas U.
- lucasdebeltran
- Posts: 1303
- Joined: Tue Jul 21, 2009 8:12 am
- Contact:
Re: moving to MSVC 32 bits
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,
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.
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.
Re: moving to MSVC 32 bits
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 ?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,
Rimantas U.
- lucasdebeltran
- Posts: 1303
- Joined: Tue Jul 21, 2009 8:12 am
- Contact:
Re: moving to MSVC 32 bits
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.
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.
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.
Re: moving to MSVC 32 bits
Many thanks to you , Lucas !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.
- Antonio Linares
- Site Admin
- Posts: 37481
- Joined: Thu Oct 06, 2005 5:47 pm
- Location: Spain
- Contact:
Re: moving to MSVC 32 bits
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
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