FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin for Harbour/xHarbour FWH 14.06
Posts: 3022
Joined: Fri Oct 07, 2005 01:45 PM
FWH 14.06
Posted: Thu Jul 24, 2014 04:35 PM

Does 14.06, building with FWH Microsoft libraries and Visual C 2013, require MSVCR120.dll ?

I have no problem on my test machine, but on a client's computer I now see an error saying the file is not found. This was fine with 14.04 but not 14.06.

If so, where must the file be installed ? Is it native to Win 8.1 ?

Tim

Tim Stone
http://www.MasterLinkSoftware.com
http://www.autoshopwriter.com
timstone@masterlinksoftware.com
Using: FWH 23.10 with Harbour 3.2.0 / Microsoft Visual Studio Community 2022-24 32/64 bit
Posts: 44158
Joined: Thu Oct 06, 2005 05:47 PM
Re: FWH 14.06
Posted: Thu Jul 24, 2014 05:24 PM

Tim,

I am going to check it and I will get back to you, thanks for your so valuable feedback as always

regards, saludos

Antonio Linares
www.fivetechsoft.com
Posts: 44158
Joined: Thu Oct 06, 2005 05:47 PM
Re: FWH 14.06
Posted: Thu Jul 24, 2014 05:32 PM
Tim,

I just built samples\tutor02.exe and see the import libraries that are required:

It seems as we are using a function of those shown on the right side that are requesting the use of such DLL.

Please download pe.exe from here and check your import libs for your EXE for 14.04 and 14.06:
https://bitbucket.org/fivetech/fivewin-contributions/downloads/peinfo.exe

regards, saludos

Antonio Linares
www.fivetechsoft.com
Posts: 3022
Joined: Fri Oct 07, 2005 01:45 PM
Re: FWH 14.06
Posted: Thu Jul 24, 2014 06:29 PM

Thanks for the link.

MSVCR120.dll is the only file that is newly required. It is not called in 14.04 but is called in 14.06. Everything about the build ( source, configuration, etc ) is the same except for the FWH libraries.

In Windows 8 and 8.1, Microsoft no longer distributes the C runtime libraries that may be needed by the program. As a result, we must distribute this file. We are allowed to by Microsoft, but we can only send the required runtime files.

The file is found in the Program Files (x86)\ Microsoft Visual Studio 12.0\VC\redist\x86\MicrosoftVC120.CRT. Place the file in the same directory as the executable. This will then preclude conflicts with other installed versions of the same file.

I have tested this on the machine in question and it now works fine. We probably don't see the problem when building our applications because these files are installed with Visual Studio Professional ( and above ).

Tim

Tim Stone
http://www.MasterLinkSoftware.com
http://www.autoshopwriter.com
timstone@masterlinksoftware.com
Using: FWH 23.10 with Harbour 3.2.0 / Microsoft Visual Studio Community 2022-24 32/64 bit
Posts: 44158
Joined: Thu Oct 06, 2005 05:47 PM
Re: FWH 14.06
Posted: Thu Jul 24, 2014 07:00 PM
Tim,

The difference comes from the flags that we suply to the linker:

"%VCINSTALLDIR%"bin\link @msvc.tmp /nologo /subsystem:windows /NODEFAULTLIB:libc /NODEFAULTLIB:msvcrt

Using /NODEFAULTLIB:msvcrt we tell the linker not to use the MSVCR120.dll

But then, we get some symbols to resolve. I am checking them now :-)
regards, saludos

Antonio Linares
www.fivetechsoft.com
Posts: 44158
Joined: Thu Oct 06, 2005 05:47 PM
Re: FWH 14.06
Posted: Thu Jul 24, 2014 07:13 PM

Tim,

I am sending you modified FWH libs that does not require the MSVCR120.dll

The link flags to use from buildh32.bat are these:

"%VCINSTALLDIR%"bin\link @msvc.tmp /nologo /subsystem:windows /NODEFAULTLIB:libc /NODEFAULTLIB:msvcrt

Still we get some warnings to clean, but the DLL is not loner needed :-)

regards, saludos

Antonio Linares
www.fivetechsoft.com
Posts: 3022
Joined: Fri Oct 07, 2005 01:45 PM
Re: FWH 14.06
Posted: Thu Jul 24, 2014 07:43 PM

Adding the NODEFAULTLIB:MSVCRT results in the following errors:

FiveHC32.lib(MSGS.obj) : error LNK2019: unresolved external symbol __imp__sprintf referenced in function _LToStr
FiveHC32.lib(FWBMP.obj) : error LNK2019: unresolved external symbol __imp__strstr referenced in function _HB_FUN_PALBTNPAINT

Thus it cannot build

Tim

Tim Stone
http://www.MasterLinkSoftware.com
http://www.autoshopwriter.com
timstone@masterlinksoftware.com
Using: FWH 23.10 with Harbour 3.2.0 / Microsoft Visual Studio Community 2022-24 32/64 bit
Posts: 195
Joined: Sun Jul 22, 2012 07:01 PM
Re: FWH 14.06
Posted: Thu Jul 24, 2014 07:57 PM

Antonio,

This is related to the same issue I brought up shortly after 14.06 was released, and is part of the reason I cannot use 14.06 at all. As Tim noted 14.04 is just fine, but the build changes that were applied for 14.06 broke a number of things. You'll also remember only the 32 bit libraries were broken, the 64 bit libraries were working when I last tested. Would you please email the modified libraries to me as well.

Robb

Posts: 44158
Joined: Thu Oct 06, 2005 05:47 PM
Re: FWH 14.06
Posted: Thu Jul 24, 2014 11:47 PM

Tim, Robb,

I am almost done with all the fixes and we will cleanly build it :-)

It may be ready for tomorrow

regards, saludos

Antonio Linares
www.fivetechsoft.com
Posts: 195
Joined: Sun Jul 22, 2012 07:01 PM
Re: FWH 14.06
Posted: Fri Jul 25, 2014 12:06 AM

Thank you sir.

Posts: 44158
Joined: Thu Oct 06, 2005 05:47 PM
Re: FWH 14.06
Posted: Fri Jul 25, 2014 05:06 AM
Tim, Robb,

Fixed. Just remember to call the MS link this way:

"%VCINSTALLDIR%"bin\link @msvc.tmp /nologo /subsystem:windows /NODEFAULTLIB:libc /NODEFAULTLIB:msvcrt

Now see what we get:
Compiling...
Harbour 3.2.0dev (r1406271520)
Copyright (c) 1999-2014, http://harbour-project.org/
Compiling 'tutor02.prg' and generating preprocessed output to 'tutor02.ppo'...
Lines 4225, Functions/Procedures 1
Generating C source output to 'tutor02.c'... Done.
Microsoft (R) C/C++ Optimizing Compiler Version 18.00.30501 for x86
Copyright (C) Microsoft Corporation. All rights reserved.

tutor02.c
Creating library tutor02.lib and object tutor02.exp
* Application successfully built *


I am sending you the modified FWH libs, thanks!
regards, saludos

Antonio Linares
www.fivetechsoft.com
Posts: 44158
Joined: Thu Oct 06, 2005 05:47 PM
Re: FWH 14.06
Posted: Fri Jul 25, 2014 05:17 AM

Even simpler :-)

We just can use:

"%VCINSTALLDIR%"bin\link @msvc.tmp /nologo /subsystem:windows /NODEFAULTLIB:msvcrt

So we instruct the linker to never use the MSVCRT DLL

regards, saludos

Antonio Linares
www.fivetechsoft.com
Posts: 842
Joined: Mon Oct 10, 2005 01:29 PM
Re: FWH 14.06
Posted: Fri Jul 25, 2014 07:29 AM

Antonio ,
cann I have the modified libraries ?

Maurizio

www.nipeservice.com

Posts: 44158
Joined: Thu Oct 06, 2005 05:47 PM
Re: FWH 14.06
Posted: Fri Jul 25, 2014 09:21 AM

Maurizio,

Already sent to your email :-)

regards, saludos

Antonio Linares
www.fivetechsoft.com
Posts: 3022
Joined: Fri Oct 07, 2005 01:45 PM
Re: FWH 14.06
Posted: Sat Jul 26, 2014 07:53 PM

Sorry for the delay in responding. I did build with the new lib using my UEStudio build file and VC 2013. I had no problems using the latest library you supplied and I was also able to run the resulting program on a computer where MSVCRT was not installed.

Thank you.

I will test with Visual Studio 2013 internal build later today but I see no reason why it won't work just as well.

TIm

Tim Stone
http://www.MasterLinkSoftware.com
http://www.autoshopwriter.com
timstone@masterlinksoftware.com
Using: FWH 23.10 with Harbour 3.2.0 / Microsoft Visual Studio Community 2022-24 32/64 bit