Building Harbour 3.4 for BCC outside MSYS

User avatar
Rick Lipkin
Posts: 2397
Joined: Fri Oct 07, 2005 1:50 pm
Location: Columbia, South Carolina USA

Re: Building Harbour 3.4 for BCC outside MSYS

Post by Rick Lipkin »

Andi

Nutz .. adding those two libs did not seem to make any difference

Rick Lipkin

Code: Select all

@ECHO OFF  
CLS
ECHO ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
ECHO ³ FiveWin for xHarbour 17.07 (MSVC++) July 2017    xHarbour development power ³Ü
ECHO ³ (c) FiveTech, 1993-2017    for Microsoft Windows 9x/NT/2000/ME/XP/Vista/7/8 ³Û
ECHO ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙÛ
ECHO ÿ ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß

if A%1 == A GOTO :SINTAX
if NOT EXIST %1.prg GOTO :NOEXIST

ECHO Compiling...

set hdir=c:\xharbourM
set vcdir=c:\msvc17
set include=%vcdir%\include;%hdir%\include;%include%
set lib=%vcdir%\lib;%hdir%\vc\lib;%lib%

%hdir%\bin\harbour %1 /n /i..\include;%hdir%\include /w /p %2 %3 > clip.log 2> warnings.log
@type clip.log
@type warnings.log
IF ERRORLEVEL 1 PAUSE
IF ERRORLEVEL 1 GOTO EXIT

%vcdir%\bin\cl -TP -W3 -c /GA %1.c
:ENDCOMPILE

IF EXIST %1.rc %vcdir%\bin\rc -r -d__FLAT__ %1

echo %1.obj  > msvc.tmp


:  FiveWin xHarbour libs

echo c:\Fwh1707\lib\FivehMX.lib c:\Fwh1707\lib\FiveHCM.lib >> msvc.tmp

:  xHarborM libs

echo %hdir%\lib\rtl.lib    >> msvc.tmp
echo %hdir%\lib\vm.lib     >> msvc.tmp
echo %hdir%\lib\gtgui.lib  >> msvc.tmp
echo %hdir%\lib\lang.lib   >> msvc.tmp
echo %hdir%\lib\macro.lib  >> msvc.tmp
echo %hdir%\lib\rdd.lib    >> msvc.tmp
echo %hdir%\lib\dbfntx.lib >> msvc.tmp
echo %hdir%\lib\dbfcdx.lib >> msvc.tmp
echo %hdir%\lib\dbffpt.lib >> msvc.tmp
echo %hdir%\lib\hbsix.lib  >> msvc.tmp
echo %hdir%\lib\debug.lib  >> msvc.tmp
echo %hdir%\lib\common.lib >> msvc.tmp
echo %hdir%\lib\pp.lib     >> msvc.tmp
echo %hdir%\lib\pcrepos.lib >> msvc.tmp
echo %hdir%\lib\png.lib     >> msvc.tmp

echo %hdir%\lib\ct.lib  >> msvc.tmp

rem ... can not find this in xHarbourM
rem echo %hdir%\lib\hbzlib.lib  >> msvc.tmp

echo %hdir%\lib\zlib.lib   >> msvc.tmp
echo %hdir%\lib\HBMzip.lib  >> msvc.tmp

:   microsoft C++ libs

rem echo %vcdir%\lib\msvcrt.lib  >> msvc.tmp

echo %vcdir%\lib\msimg32.lib   >> msvc.tmp 
echo %vcdir%\lib\uuid.lib      >> msvc.tmp 
echo %vcdir%\lib\psapi.lib     >> msvc.tmp 
echo %vcdir%\lib\iphlpapi.lib  >> msvc.tmp
echo %vcdir%\lib\version.lib   >> msvc.tmp
echo %vcdir%\lib\shell32.lib   >> msvc.tmp
echo %vcdir%\lib\kernel32.lib  >> msvc.tmp
echo %vcdir%\lib\user32.lib    >> msvc.tmp
echo %vcdir%\lib\advapi32.lib  >> msvc.tmp
echo %vcdir%\lib\gdi32.lib     >> msvc.tmp
echo %vcdir%\lib\winspool.lib  >> msvc.tmp
echo %vcdir%\lib\ole32.lib     >> msvc.tmp
echo %vcdir%\lib\oleaut32.lib  >> msvc.tmp
echo %vcdir%\lib\mpr.lib       >> msvc.tmp
echo %vcdir%\lib\comctl32.lib  >> msvc.tmp
echo %vcdir%\lib\comdlg32.lib  >> msvc.tmp

echo %vcdir%\lib\odbc32.lib    >> msvc.tmp
echo %vcdir%\lib\odbccp32.lib  >> msvc.tmp
echo %vcdir%\lib\oledlg.lib    >> msvc.tmp
 
echo %vcdir%\lib\gdiplus.lib   >> msvc.tmp
echo %vcdir%\lib\user32.lib    >> msvc.tmp

IF EXIST %1.res echo %1.res >> msvc.tmp

%vcdir%\bin\link @msvc.tmp /NODEFAULTLIB:LIBC /nologo /subsystem:windows /force:multiple

IF ERRORLEVEL 1 GOTO LINKERROR
ECHO * Application successfully built
%1
GOTO EXIT
ECHO

rem delete temporary files
@del %1.c
@del msvc.tmp

:LINKERROR
ECHO * There are errors
GOTO EXIT

:SINTAX
ECHO    SYNTAX: Build [Program]     {-- No especifiques la extensión PRG
ECHO                                {-- Don't specify .PRG extension
GOTO EXIT

:NOEXIST
ECHO The specified PRG %1 does not exist

:EXIT

errors

Code: Select all

ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
³ FiveWin for xHarbour 17.07 (MSVC++) July 2017    xHarbour development power ³Ü
³ (c) FiveTech, 1993-2017    for Microsoft Windows 9x/NT/2000/ME/XP/Vista/7/8 ³Û
ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙÛ
ÿ ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß
Compiling...
xHarbour 1.2.3 Intl. (SimpLex) (Build 20170902)
Copyright 1999-2017, http://www.xharbour.org http://www.harbour-project.org/
Compiling 'tutor01.prg' and generating preprocessed output to 'tutor01.ppo'...
2000
Generating C source output to 'tutor01.c'...
Done.

Lines 13, Functions/Procedures 1, pCodes 14
tutor01.c
Microsoft (R) Windows (R) Resource Compiler Version 10.0.10011.16384

Copyright (C) Microsoft Corporation.  All rights reserved.


libucrt.lib(pow_impl.obj) : warning LNK4006: __CIpow already defined in FivehMX.lib(HARBOUR.obj); second definition ignored
FivehMX.lib(OLEFUNCS.obj) : error LNK2001: unresolved external symbol _HB_FUN_HB_UNZIPFILE
FivehMX.lib(OLEFUNCS.obj) : error LNK2001: unresolved external symbol _HB_FUN_HB_GETFILESINZIP
FiveHCM.lib(KEYBRD.obj) : error LNK2019: unresolved external symbol _SendInput referenced in function _HB_FUN_SENDKEY
FiveHCM.lib(MENUDRAW.obj) : error LNK2019: unresolved external symbol _GetMenuInfo referenced in function _HB_FUN_HBMPBACK
FiveHCM.lib(MENUDRAW.obj) : error LNK2019: unresolved external symbol _SetMenuInfo referenced in function _hSetbmpback
FiveHCM.lib(MENUDRAW.obj) : error LNK2019: unresolved external symbol _GetWindowLongPtr referenced in function _HB_FUN_CCOLORMENU
FiveHCM.lib(MENUDRAW.obj) : error LNK2019: unresolved external symbol _GetMenuBarInfo referenced in function _HB_FUN_MINFOMIMENU
FiveHCM.lib(NONCLIENT.obj) : error LNK2019: unresolved external symbol _GetComboBoxInfo referenced in function _HB_FUN_HWNDCOMBO
FiveHCM.lib(NONCLIENT.obj) : error LNK2019: unresolved external symbol _GetListBoxInfo referenced in function _HB_FUN_NGETLISTBOXINFO
tutor01.exe : fatal error LNK1120: 9 unresolved externals
* There are errors

 
User avatar
byte-one
Posts: 1048
Joined: Mon Oct 24, 2005 9:54 am
Location: Austria
Contact:

Re: Building Harbour 3.4 for BCC outside MSYS

Post by byte-one »

It seems, minizip.lib must also added from Harbour!
Regards,
Günther
---------------------------------
office@byte-one.com
User avatar
Enrico Maria Giordano
Posts: 7355
Joined: Thu Oct 06, 2005 8:17 pm
Location: Roma - Italia
Contact:

Re: Building Harbour 3.4 for BCC outside MSYS

Post by Enrico Maria Giordano »

byte-one wrote:It seems, minizip.lib must also added from Harbour!
No, you should not mix Harbour and xHarbour libs.

EMG
User avatar
Rick Lipkin
Posts: 2397
Joined: Fri Oct 07, 2005 1:50 pm
Location: Columbia, South Carolina USA

Re: Building Harbour 3.4 for BCC outside MSYS

Post by Rick Lipkin »

Enrico

Adding Hbzip.lib had no effect .. if you look at the original BuildxM .. there is a library named

rem ... can not find this in xHarbourM
rem echo %hdir%\lib\hbzlib.lib >> msvc.tmp

Which is not present in either xHarbour\Borland or xHarbourM\Msvc ... and I think that is what is missing here .. Andi or Antonio .. please jump in here.

BuildxM

Code: Select all

@ECHO OFF  
CLS
ECHO ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
ECHO ³ FiveWin for xHarbour 17.07 (MSVC++) July 2017    xHarbour development power ³Ü
ECHO ³ (c) FiveTech, 1993-2017    for Microsoft Windows 9x/NT/2000/ME/XP/Vista/7/8 ³Û
ECHO ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙÛ
ECHO ÿ ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß

if A%1 == A GOTO :SINTAX
if NOT EXIST %1.prg GOTO :NOEXIST

ECHO Compiling...

set hdir=c:\xharbourM
set vcdir=c:\msvc17
set include=%vcdir%\include;%hdir%\include;%include%
set lib=%vcdir%\lib;%hdir%\vc\lib;%lib%

%hdir%\bin\harbour %1 /n /i..\include;%hdir%\include /w /p %2 %3 > clip.log 2> warnings.log
@type clip.log
@type warnings.log
IF ERRORLEVEL 1 PAUSE
IF ERRORLEVEL 1 GOTO EXIT

%vcdir%\bin\cl -TP -W3 -c /GA %1.c
:ENDCOMPILE

IF EXIST %1.rc %vcdir%\bin\rc -r -d__FLAT__ %1

echo %1.obj  > msvc.tmp


:  FiveWin xHarbour libs

echo c:\Fwh1707\lib\FivehMX.lib c:\Fwh1707\lib\FiveHCM.lib >> msvc.tmp

:  xHarborM libs

echo %hdir%\lib\rtl.lib    >> msvc.tmp
echo %hdir%\lib\vm.lib     >> msvc.tmp
echo %hdir%\lib\gtgui.lib  >> msvc.tmp
echo %hdir%\lib\lang.lib   >> msvc.tmp
echo %hdir%\lib\macro.lib  >> msvc.tmp
echo %hdir%\lib\rdd.lib    >> msvc.tmp
echo %hdir%\lib\dbfntx.lib >> msvc.tmp
echo %hdir%\lib\dbfcdx.lib >> msvc.tmp
echo %hdir%\lib\dbffpt.lib >> msvc.tmp
echo %hdir%\lib\hbsix.lib  >> msvc.tmp
echo %hdir%\lib\debug.lib  >> msvc.tmp
echo %hdir%\lib\common.lib >> msvc.tmp
echo %hdir%\lib\pp.lib     >> msvc.tmp
echo %hdir%\lib\pcrepos.lib >> msvc.tmp
echo %hdir%\lib\png.lib     >> msvc.tmp

echo %hdir%\lib\ct.lib  >> msvc.tmp

rem ... can not find this in xHarbourM
rem echo %hdir%\lib\hbzlib.lib  >> msvc.tmp

echo %hdir%\lib\zlib.lib   >> msvc.tmp
echo %hdir%\lib\HBMzip.lib  >> msvc.tmp
echo %hdir%\lib\HBzip.lib  >> msvc.tmp

:   microsoft C++ libs

rem echo %vcdir%\lib\msvcrt.lib  >> msvc.tmp

echo %vcdir%\lib\msimg32.lib   >> msvc.tmp 
echo %vcdir%\lib\uuid.lib      >> msvc.tmp 
echo %vcdir%\lib\psapi.lib     >> msvc.tmp 
echo %vcdir%\lib\iphlpapi.lib  >> msvc.tmp
echo %vcdir%\lib\version.lib   >> msvc.tmp
echo %vcdir%\lib\shell32.lib   >> msvc.tmp
echo %vcdir%\lib\kernel32.lib  >> msvc.tmp
echo %vcdir%\lib\user32.lib    >> msvc.tmp
echo %vcdir%\lib\advapi32.lib  >> msvc.tmp
echo %vcdir%\lib\gdi32.lib     >> msvc.tmp
echo %vcdir%\lib\winspool.lib  >> msvc.tmp
echo %vcdir%\lib\ole32.lib     >> msvc.tmp
echo %vcdir%\lib\oleaut32.lib  >> msvc.tmp
echo %vcdir%\lib\mpr.lib       >> msvc.tmp
echo %vcdir%\lib\comctl32.lib  >> msvc.tmp
echo %vcdir%\lib\comdlg32.lib  >> msvc.tmp

echo %vcdir%\lib\odbc32.lib    >> msvc.tmp
echo %vcdir%\lib\odbccp32.lib  >> msvc.tmp
echo %vcdir%\lib\oledlg.lib    >> msvc.tmp
 
echo %vcdir%\lib\gdiplus.lib   >> msvc.tmp
echo %vcdir%\lib\user32.lib    >> msvc.tmp

IF EXIST %1.res echo %1.res >> msvc.tmp

%vcdir%\bin\link @msvc.tmp /NODEFAULTLIB:LIBC /nologo /subsystem:windows /force:multiple

IF ERRORLEVEL 1 GOTO LINKERROR
ECHO * Application successfully built
%1
GOTO EXIT
ECHO

rem delete temporary files
@del %1.c
@del msvc.tmp

:LINKERROR
ECHO * There are errors
GOTO EXIT

:SINTAX
ECHO    SYNTAX: Build [Program]     {-- No especifiques la extensión PRG
ECHO                                {-- Don't specify .PRG extension
GOTO EXIT

:NOEXIST
ECHO The specified PRG %1 does not exist

:EXIT

Errors

Code: Select all

ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
³ FiveWin for xHarbour 17.07 (MSVC++) July 2017    xHarbour development power ³Ü
³ (c) FiveTech, 1993-2017    for Microsoft Windows 9x/NT/2000/ME/XP/Vista/7/8 ³Û
ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙÛ
ÿ ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß
Compiling...
xHarbour 1.2.3 Intl. (SimpLex) (Build 20170902)
Copyright 1999-2017, http://www.xharbour.org http://www.harbour-project.org/
Compiling 'tutor01.prg' and generating preprocessed output to 'tutor01.ppo'...
2000

Generating C source output to 'tutor01.c'...
Done.

Lines 13, Functions/Procedures 1, pCodes 14
tutor01.c
Microsoft (R) Windows (R) Resource Compiler Version 10.0.10011.16384

Copyright (C) Microsoft Corporation.  All rights reserved.


libucrt.lib(pow_impl.obj) : warning LNK4006: __CIpow already defined in FivehMX.lib(HARBOUR.obj); second definition ignored
FivehMX.lib(OLEFUNCS.obj) : error LNK2001: unresolved external symbol _HB_FUN_HB_UNZIPFILE
FivehMX.lib(OLEFUNCS.obj) : error LNK2001: unresolved external symbol _HB_FUN_HB_GETFILESINZIP
FiveHCM.lib(KEYBRD.obj) : error LNK2019: unresolved external symbol _SendInput referenced in function _HB_FUN_SENDKEY
FiveHCM.lib(MENUDRAW.obj) : error LNK2019: unresolved external symbol _GetMenuInfo referenced in function _HB_FUN_HBMPBACK
FiveHCM.lib(MENUDRAW.obj) : error LNK2019: unresolved external symbol _SetMenuInfo referenced in function _hSetbmpback
FiveHCM.lib(MENUDRAW.obj) : error LNK2019: unresolved external symbol _GetWindowLongPtr referenced in function _HB_FUN_CCOLORMENU
FiveHCM.lib(MENUDRAW.obj) : error LNK2019: unresolved external symbol _GetMenuBarInfo referenced in function _HB_FUN_MINFOMIMENU
FiveHCM.lib(NONCLIENT.obj) : error LNK2019: unresolved external symbol _GetComboBoxInfo referenced in function _HB_FUN_HWNDCOMBO
FiveHCM.lib(NONCLIENT.obj) : error LNK2019: unresolved external symbol _GetListBoxInfo referenced in function _HB_FUN_NGETLISTBOXINFO
tutor01.exe : fatal error LNK1120: 9 unresolved externals
* There are errors

 
But it appears another xHarbourM lib is missing as well ..

Rick Lipkin
User avatar
Enrico Maria Giordano
Posts: 7355
Joined: Thu Oct 06, 2005 8:17 pm
Location: Roma - Italia
Contact:

Re: Building Harbour 3.4 for BCC outside MSYS

Post by Enrico Maria Giordano »

Step by step. First look at:

Code: Select all

libucrt.lib(pow_impl.obj) : warning LNK4006: __CIpow already defined in FivehMX.lib(HARBOUR.obj); second definition ignored
This is only a warning but it's worth to be check. Actually, in harbour.prg there is a redefinition of

Code: Select all

double _CIpow( void )
It should be excluded when MSVC is used.

EMG
User avatar
Enrico Maria Giordano
Posts: 7355
Joined: Thu Oct 06, 2005 8:17 pm
Location: Roma - Italia
Contact:

Re: Building Harbour 3.4 for BCC outside MSYS

Post by Enrico Maria Giordano »

Now look at this:

Code: Select all

FivehMX.lib(OLEFUNCS.obj) : error LNK2001: unresolved external symbol _HB_FUN_HB_UNZIPFILE
The funcion HB_UNZIPFILE() is defined in olefuncs.prg only when Harbour is used (ie. not for xHarbour):

Code: Select all

#ifndef __XHARBOUR__

//
// Problems with HB_UnzipFile() of Harbour
// Files in subfolder are not unzipped unless the subfolder exists
// 3rd parameter has no effect and always unzips to subfolder
//
// This is a condensed and modified version of the function from ziparc.prg
// for the purpose of extracting thumbnails. This is not a full replacement
//

static function hb_UnzipFile( cSrcZip, bUpdate, lWithPath, cPassword, cPath, cUnzip, bProgress )

   local lRetVal := .f.

   ...
So the one from xHarbour libs is used. It is defined inside hbzip.lib. Please note that I never used hbmzip.lib. I don't know why you need it. Try to remove it and report back.

EMG
User avatar
Rick Lipkin
Posts: 2397
Joined: Fri Oct 07, 2005 1:50 pm
Location: Columbia, South Carolina USA

Re: Building Harbour 3.4 for BCC outside MSYS

Post by Rick Lipkin »

Enrico

I have compared the original BuildxM and included almost every possible combination of FW-M libs .. as far as the zip libs .. all I am trying to do is build Tutor01.prg .. nothing in that code that has anything to do with zip.

libucrt.lib(pow_impl.obj) : warning LNK4006: __CIpow already defined in FivehMX.lib(HARBOUR.obj); second definition ignored
FivehMX.lib(OLEFUNCS.obj) : error LNK2001: unresolved external symbol _HB_FUN_HB_UNZIPFILE
FivehMX.lib(OLEFUNCS.obj) : error LNK2001: unresolved external symbol _HB_FUN_HB_GETFILESINZIP
FiveHCM.lib(KEYBRD.obj) : error LNK2019: unresolved external symbol _SendInput referenced in function _HB_FUN_SENDKEY
FiveHCM.lib(MENUDRAW.obj) : error LNK2019: unresolved external symbol _GetMenuInfo referenced in function _HB_FUN_HBMPBACK
FiveHCM.lib(MENUDRAW.obj) : error LNK2019: unresolved external symbol _SetMenuInfo referenced in function _hSetbmpback
FiveHCM.lib(MENUDRAW.obj) : error LNK2019: unresolved external symbol _GetWindowLongPtr referenced in function _HB_FUN_CCOLORMENU
FiveHCM.lib(MENUDRAW.obj) : error LNK2019: unresolved external symbol _GetMenuBarInfo referenced in function _HB_FUN_MINFOMIMENU
FiveHCM.lib(NONCLIENT.obj) : error LNK2019: unresolved external symbol _GetComboBoxInfo referenced in function _HB_FUN_HWNDCOMBO
FiveHCM.lib(NONCLIENT.obj) : error LNK2019: unresolved external symbol _GetListBoxInfo referenced in function _HB_FUN_NGETLISTBOXINFO
tutor01.exe : fatal error LNK1120: 9 unresolved externals

What about HB_FUN_SENDKEY and the other 6 unresolved externals ? ... is this due to the xHarbour and Harbour forks and the direction each have taken ? If so, in order to use Visual Studio 2017 or the distilled 2017 Command line MSVC .. I must use Harbour ? ... surely there is some compromise here.

Rick Lipkin
User avatar
Enrico Maria Giordano
Posts: 7355
Joined: Thu Oct 06, 2005 8:17 pm
Location: Roma - Italia
Contact:

Re: Building Harbour 3.4 for BCC outside MSYS

Post by Enrico Maria Giordano »

Rick Lipkin wrote:What about HB_FUN_SENDKEY and the other 6 unresolved externals ? ...

Code: Select all

FiveHCM.lib(KEYBRD.obj) : error LNK2019: unresolved external symbol _SendInput referenced in function _HB_FUN_SENDKEY
Something wrong in FWH sources. In keybrd.c the function SendInput() is defined only for GNUC:

Code: Select all

#ifdef __GNUC__ 
   WINBASEAPI UINT WINAPI SendInput( UINT nInputs, LPINPUT pInputs, int cbSize );
#endif

#ifdef _WIN64
   // UINT WINAPI SendInput( UINT nInputs, LPINPUT pInputs, int cbSize );
#endif
EMG
User avatar
Rick Lipkin
Posts: 2397
Joined: Fri Oct 07, 2005 1:50 pm
Location: Columbia, South Carolina USA

Re: Building Harbour 3.4 for BCC outside MSYS

Post by Rick Lipkin »

Enrico

I am using FWH 1707 .. has a bit of age on it ..

Rick Lipkin
User avatar
Rick Lipkin
Posts: 2397
Joined: Fri Oct 07, 2005 1:50 pm
Location: Columbia, South Carolina USA

Re: Building Harbour 3.4 for BCC outside MSYS

Post by Rick Lipkin »

Enrico

I downloaded the latest xHarbour MSVC 2017 12-10-17 from Mel's site.

Rick Lipkin
User avatar
mastintin
Posts: 1502
Joined: Thu May 27, 2010 2:06 pm

Re: Building Harbour 3.4 for BCC outside MSYS

Post by mastintin »

Rick Lipkin wrote:Enrico

I have compared the original BuildxM and included almost every possible combination of FW-M libs .. as far as the zip libs .. all I am trying to do is build Tutor01.prg .. nothing in that code that has anything to do with zip.

libucrt.lib(pow_impl.obj) : warning LNK4006: __CIpow already defined in FivehMX.lib(HARBOUR.obj); second definition ignored
FivehMX.lib(OLEFUNCS.obj) : error LNK2001: unresolved external symbol _HB_FUN_HB_UNZIPFILE
FivehMX.lib(OLEFUNCS.obj) : error LNK2001: unresolved external symbol _HB_FUN_HB_GETFILESINZIP
FiveHCM.lib(KEYBRD.obj) : error LNK2019: unresolved external symbol _SendInput referenced in function _HB_FUN_SENDKEY
FiveHCM.lib(MENUDRAW.obj) : error LNK2019: unresolved external symbol _GetMenuInfo referenced in function _HB_FUN_HBMPBACK
FiveHCM.lib(MENUDRAW.obj) : error LNK2019: unresolved external symbol _SetMenuInfo referenced in function _hSetbmpback
FiveHCM.lib(MENUDRAW.obj) : error LNK2019: unresolved external symbol _GetWindowLongPtr referenced in function _HB_FUN_CCOLORMENU
FiveHCM.lib(MENUDRAW.obj) : error LNK2019: unresolved external symbol _GetMenuBarInfo referenced in function _HB_FUN_MINFOMIMENU
FiveHCM.lib(NONCLIENT.obj) : error LNK2019: unresolved external symbol _GetComboBoxInfo referenced in function _HB_FUN_HWNDCOMBO
FiveHCM.lib(NONCLIENT.obj) : error LNK2019: unresolved external symbol _GetListBoxInfo referenced in function _HB_FUN_NGETLISTBOXINFO
tutor01.exe : fatal error LNK1120: 9 unresolved externals

What about HB_FUN_SENDKEY and the other 6 unresolved externals ? ... is this due to the xHarbour and Harbour forks and the direction each have taken ? If so, in order to use Visual Studio 2017 or the distilled 2017 Command line MSVC .. I must use Harbour ? ... surely there is some compromise here.

Rick Lipkin
/NODEFAULTLIB:msvcrt solve this..

my linker line for harbour fw32 ...

C_BIN_INSTALL%\link.exe @%LNK% /nologo /force:multiple /NODEFAULTLIB:msvcrt /machine:X86 /nxcompat:NO /Ignore:4006 /subsystem:windows,5.01
/LIBPATH:%C_LIB_INSTALL% /LIBPATH:%HOME%\LIB /LIBPATH:%HB_LIB_INSTALL%
Post Reply