FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin for Harbour/xHarbour Building Harbour 3.4 for BCC outside MSYS
Posts: 1048
Joined: Mon Oct 24, 2005 09:54 AM
Re: Building Harbour 3.4 for BCC outside MSYS
Posted: Fri Dec 15, 2017 01:50 PM

Now i have compiled succesfull with Harbour and MSC. The speedtest gives the following results:

BCC 7.3 40,5 secs
MSC 27,2 secs

!!!!!!

Regards,
Günther
---------------------------------
office@byte-one.com
Posts: 9020
Joined: Thu Oct 06, 2005 08:17 PM
Re: Building Harbour 3.4 for BCC outside MSYS
Posted: Fri Dec 15, 2017 01:54 PM

Great! Can you also report the EXE size difference?

EMG

Posts: 1048
Joined: Mon Oct 24, 2005 09:54 AM
Re: Building Harbour 3.4 for BCC outside MSYS
Posted: Fri Dec 15, 2017 02:14 PM

8,72 MB with BCC
8,78 MB with MSC

Regards,
Günther
---------------------------------
office@byte-one.com
Posts: 9020
Joined: Thu Oct 06, 2005 08:17 PM
Re: Building Harbour 3.4 for BCC outside MSYS
Posted: Fri Dec 15, 2017 02:22 PM
Can you compile an "hello world" sample with the two compilers and report the EXE sizes, please? This sample:

Code (fw): Select all Collapse
#include "Fivewin.ch"


FUNCTION MAIN()

    ? "Hello, World!"

    RETURN NIL


EMG
Posts: 2706
Joined: Fri Oct 07, 2005 01:50 PM
Re: Building Harbour 3.4 for BCC outside MSYS
Posted: Fri Dec 15, 2017 04:25 PM
mastintin

I must be jinxed or hexed .. I made your change

BuildRick.bat
Code (fw): Select all Collapse
@ECHO OFF
CLS
ECHO ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
ECHO ³ FiveWin for Harbour 14.09 (MSVC++) Sep. 2014     Harbour development power ³Ü
ECHO ³ (c) FiveTech, 1993-2014   for Microsoft Windows 9X/NT/200X/ME/XP/Vista/7/8 ³Û
ECHO ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙÛ
ECHO ÿ ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß

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


rem if "%FWDIR%" == "" set FWDIR=.\..
rem if "%HBDIR%" == "" set HBDIR=c:\MSharbour


ECHO Compiling...

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


rem @set fwh=%FWDIR%
rem @set hdir=%HBDIR%
rem @set hdirl=%hdir%\lib

rem set vcdir= c:\vc
rem set vclib=%vcdir%\lib


%hdir%\bin\harbour %1 /n /ic:\Fwh1707\include;%hdir%\include /w /p %2 %3 > comp.log 2> warnings.log
IF ERRORLEVEL 1 GOTO COMPILEERROR
@type comp.log
@type warnings.log

IF ERRORLEVEL 1 PAUSE
IF ERRORLEVEL 1 GOTO EXIT

: mvsc compiler line

%vcdir%\bin\cl.Exe -TP -W3 -O2 -nologo -c -GA -GS -EHsc /I%hdir%\include /I%vcdir%\include %1.c

:ENDCOMPILE

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

echo %1.obj  > msvc.tmp

: fivewin libs
echo c:\Fwh1707\lib\FivehMX.lib c:\fwh1707\lib\FiveHc32.lib  >> msvc.tmp

: xHarbourM 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

: msvc libs

echo %vcdir%\lib\kernel32.lib  >> msvc.tmp
echo %vcdir%\lib\user32.lib    >> msvc.tmp
echo %vcdir%\lib\gdi32.lib     >> msvc.tmp
echo %vcdir%\lib\winspool.lib  >> msvc.tmp
echo %vcdir%\lib\comctl32.lib  >> msvc.tmp
echo %vcdir%\lib\comdlg32.lib  >> msvc.tmp
echo %vcdir%\lib\advapi32.lib  >> msvc.tmp
echo %vcdir%\lib\shell32.lib   >> msvc.tmp
echo %vcdir%\lib\ole32.lib     >> msvc.tmp
echo %vcdir%\lib\oleaut32.lib  >> msvc.tmp
echo %vcdir%\lib\uuid.lib      >> msvc.tmp
echo %vcdir%\lib\odbc32.lib    >> msvc.tmp
echo %vcdir%\lib\odbccp32.lib  >> msvc.tmp
echo %vcdir%\lib\iphlpapi.lib  >> msvc.tmp
echo %vcdir%\lib\mpr.lib       >> msvc.tmp
echo %vcdir%\lib\version.lib   >> msvc.tmp
echo %vcdir%\lib\wsock32.lib   >> msvc.tmp
echo %vcdir%\lib\msimg32.lib   >> msvc.tmp
echo %vcdir%\lib\oledlg.lib    >> msvc.tmp
echo %vcdir%\lib\psapi.lib     >> msvc.tmp
echo %vcdir%\lib\gdiplus.lib   >> msvc.tmp
echo %vcdir%\lib\winmm.lib     >> msvc.tmp
echo %vcdir%\lib\libcmt.lib    >> msvc.tmp
echo %vcdir%\lib\oldnames.lib  >> msvc.tmp
echo %vcdir%\lib\libcpmt.lib   >> msvc.tmp
echo %vcdir%\lib\ws2_32.lib    >> msvc.tmp

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

Rem %vcdir%\bin\link @msvc.tmp /nologo /NODEFAULTLIB:LIBC /NODEFAULTLIB:msvcrt /force:multiple /nxcompat:NO /subsystem:windows,5.01 /machine:X86 /Ignore:4006 /LIBPATH:c:\Msvc17\lib
%vcdir%\bin\link @msvc.tmp /nologo  /NODEFAULTLIB:msvcrt /force:multiple /nxcompat:NO /subsystem:windows,5.01 /machine:X86 /Ignore:4006 /LIBPATH:c:\Msvc17\lib

IF ERRORLEVEL 1 GOTO LINKERROR
ECHO * Application successfully built *
@set path=%oldpath%
@set include=%oldinclude%
@set lib=%oldlib%
@set libpath=%oldlibpath%
@set oldpath=""
@set oldinclude=""
@set oldlib=""
@set oldlibpath=""
%1
GOTO EXIT
ECHO

: delete temporary files

@del %1.c
@del msvc.tmp

:COMPILEERROR
@type comp.log
@type warnings.log
ECHO * Compiling errors *
GOTO EXIT

:LINKERROR
ECHO * Linking 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


error
Code (fw): Select all Collapse
ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
³ FiveWin for Harbour 14.09 (MSVC++) Sep. 2014     Harbour development power ³Ü
³ (c) FiveTech, 1993-2014   for Microsoft Windows 9X/NT/200X/ME/XP/Vista/7/8 ³Û
ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙÛ
ÿ ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß
Compiling...
xHarbour 1.2.3 Intl. (SimpLex) (Build 20170902)
Copyright 1999-2017, http://www.xharbour.org <!-- m --><a class="postlink" href="http://www.harbour-project.org/">http://www.harbour-project.org/</a><!-- m -->
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
LINK : fatal error LNK1104: cannot open file 'LIBC.lib'
* Linking errors *


I have seen this LIBC.lib show up several times in my trials .. there is no such file ..

Rick Lipkin
Posts: 1516
Joined: Thu May 27, 2010 02:06 PM
Re: Building Harbour 3.4 for BCC outside MSYS
Posted: Fri Dec 15, 2017 05:51 PM
Rick Lipkin wrote:mastintin

I must be jinxed or hexed .. I made your change



I'm running out of ideas :-)

ok ,is correct /NODEFAULTLIB:libc

see this http://fivetechsupport.com/forums/viewt ... 95&start=0 ..
go back to fivehcM.lib and include last xfw.lib https://bitbucket.org/fivetech/fivewin- ... 171005.zip
and cross your fingers.
Posts: 182
Joined: Tue Oct 18, 2005 10:01 AM
Re: Building Harbour 3.4 for BCC outside MSYS
Posted: Sat Dec 16, 2017 11:29 AM
Enrico Maria Giordano wrote:Can you compile an "hello world" sample with the two compilers and report the EXE sizes, please? This sample:

Code (fw): Select all Collapse
#include "Fivewin.ch"


FUNCTION MAIN()

    ? "Hello, World!"

    RETURN NIL


EMG


Hi Enrico,

Size in this days is not a problem, but, this is the results:

BCC 7.2: 3.76
MSVC2017: 3.78


Regards.
Posts: 9020
Joined: Thu Oct 06, 2005 08:17 PM
Re: Building Harbour 3.4 for BCC outside MSYS
Posted: Sat Dec 16, 2017 11:50 AM
toninhofwi wrote:Size in this days is not a problem,


It is, if you have to send the exe via email or other Internet channel.

toninhofwi wrote:but, this is the results:

BCC 7.2: 3.76
MSVC2017: 3.78


Great! They are almost identical!

EMG
Posts: 2706
Joined: Fri Oct 07, 2005 01:50 PM
Re: Building Harbour 3.4 for BCC outside MSYS
Posted: Sat Dec 16, 2017 01:59 PM

Gentleman

Still no joy here on using Andi's MSVC 2017 command line binaries .. I would appreciate if someone would download the binaries at the top of this thread and try to modify BuildXm to compile and run Tutor01.prg

I have exhausted my options on a working compile.

Thanks
Rick Lipkin

Posts: 44158
Joined: Thu Oct 06, 2005 05:47 PM
Re: Building Harbour 3.4 for BCC outside MSYS
Posted: Sun Dec 17, 2017 10:09 AM

Rick,

What errors are you getting ?

regards, saludos

Antonio Linares
www.fivetechsoft.com
Posts: 2706
Joined: Fri Oct 07, 2005 01:50 PM
Re: Building Harbour 3.4 for BCC outside MSYS
Posted: Sun Dec 17, 2017 06:06 PM

Antonio

In the above ( later ) examples .. I have been able to compile Tutor01.prg, unfortunately, the .Exe will not run ... Click on Tutor01.Exe and nothing happens.

Any words of wisdom would help .. please download the binaries and copy and paste .. this is as close as I have come .. the .Exe is created but will not run.

Rick Lipkin

@ECHO OFF
CLS
ECHO ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
ECHO ³ FiveWin for Harbour 14.09 (MSVC++) Sep. 2014 Harbour development power ³Ü
ECHO ³ (c) FiveTech, 1993-2014 for Microsoft Windows 9X/NT/200X/ME/XP/Vista/7/8 ³Û
ECHO ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙÛ
ECHO ÿ ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß

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

rem if "%FWDIR%" == "" set FWDIR=...
rem if "%HBDIR%" == "" set HBDIR=c:\MSharbour

ECHO Compiling...

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

rem @set fwh=%FWDIR%
rem @set hdir=%HBDIR%
rem @set hdirl=%hdir%\lib

rem set vcdir= c:\vc
rem set vclib=%vcdir%\lib

%hdir%\bin\harbour %1 /n /ic:\Fwh1707\include;%hdir%\include /w /p %2 %3 > comp.log 2> warnings.log
IF ERRORLEVEL 1 GOTO COMPILEERROR
@type comp.log
@type warnings.log

IF ERRORLEVEL 1 PAUSE
IF ERRORLEVEL 1 GOTO EXIT

: mvsc compiler line

%vcdir%\bin\cl.Exe -TP -W3 -O2 -nologo -c -GA -GS -EHsc /I%hdir%\include /I%vcdir%\include %1.c

:ENDCOMPILE

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

echo %1.obj > msvc.tmp

: fivewin libs
echo c:\Fwh1707\lib\FivehMX.lib c:\fwh1707\lib\FiveHc32.lib >> msvc.tmp

: xHarbourM 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

: msvc libs

echo %vcdir%\lib\kernel32.lib >> msvc.tmp
echo %vcdir%\lib\user32.lib >> msvc.tmp
echo %vcdir%\lib\gdi32.lib >> msvc.tmp
echo %vcdir%\lib\winspool.lib >> msvc.tmp
echo %vcdir%\lib\comctl32.lib >> msvc.tmp
echo %vcdir%\lib\comdlg32.lib >> msvc.tmp
echo %vcdir%\lib\advapi32.lib >> msvc.tmp
echo %vcdir%\lib\shell32.lib >> msvc.tmp
echo %vcdir%\lib\ole32.lib >> msvc.tmp
echo %vcdir%\lib\oleaut32.lib >> msvc.tmp
echo %vcdir%\lib\uuid.lib >> msvc.tmp
echo %vcdir%\lib\odbc32.lib >> msvc.tmp
echo %vcdir%\lib\odbccp32.lib >> msvc.tmp
echo %vcdir%\lib\iphlpapi.lib >> msvc.tmp
echo %vcdir%\lib\mpr.lib >> msvc.tmp
echo %vcdir%\lib\version.lib >> msvc.tmp
echo %vcdir%\lib\wsock32.lib >> msvc.tmp
echo %vcdir%\lib\msimg32.lib >> msvc.tmp
echo %vcdir%\lib\oledlg.lib >> msvc.tmp
echo %vcdir%\lib\psapi.lib >> msvc.tmp
echo %vcdir%\lib\gdiplus.lib >> msvc.tmp
echo %vcdir%\lib\winmm.lib >> msvc.tmp
echo %vcdir%\lib\libcmt.lib >> msvc.tmp
echo %vcdir%\lib\oldnames.lib >> msvc.tmp
echo %vcdir%\lib\libcpmt.lib >> msvc.tmp
echo %vcdir%\lib\ws2_32.lib >> msvc.tmp

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

%vcdir%\bin\link @msvc.tmp /nologo /NODEFAULTLIB:LIBC /NODEFAULTLIB:msvcrt /force:multiple /nxcompat:NO /subsystem:windows,5.01 /machine:X86 /Ignore:4006 /LIBPATH:c:\Msvc17\lib

IF ERRORLEVEL 1 GOTO LINKERROR
ECHO * Application successfully built *
@set path=%oldpath%
@set include=%oldinclude%
@set lib=%oldlib%
@set libpath=%oldlibpath%
@set oldpath=""
@set oldinclude=""
@set oldlib=""
@set oldlibpath=""
%1
GOTO EXIT
ECHO

: delete temporary files

@del %1.c
@del msvc.tmp

:COMPILEERROR
@type comp.log
@type warnings.log
ECHO * Compiling errors *
GOTO EXIT

:LINKERROR
ECHO * Linking 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

error
Code:

ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
³ FiveWin for Harbour 14.09 (MSVC++) Sep. 2014 Harbour development power ³Ü
³ (c) FiveTech, 1993-2014 for Microsoft Windows 9X/NT/200X/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
Creating library tutor01.lib and object tutor01.exp
tutor01.exe : warning LNK4088: image being generated due to /FORCE option; image may not run
* Application successfully built *

Posts: 9020
Joined: Thu Oct 06, 2005 08:17 PM
Re: Building Harbour 3.4 for BCC outside MSYS
Posted: Sun Dec 17, 2017 06:40 PM

I'm going to do some test in my spare time. I already tried with C and C++ samples and found no problem so far.

EMG

Posts: 2706
Joined: Fri Oct 07, 2005 01:50 PM
Re: Building Harbour 3.4 for BCC outside MSYS
Posted: Sun Dec 17, 2017 09:37 PM

Enrico

Thanks for taking a look at my struggles ... I downloaded Andi's binaries and went to Mels's site and downloaded xHarbour for MSVC 2017.

Perhaps there is a clue somewhere in this mix.

Thanks
Rick Lipkin

Posts: 44158
Joined: Thu Oct 06, 2005 05:47 PM
Re: Building Harbour 3.4 for BCC outside MSYS
Posted: Mon Dec 18, 2017 07:22 AM

Rick,

Please modify tutor01.rc like this:

ico ICON "./../ICONS/fivewin.ico"

1 24 "WinXP/WindowsXP.Manifest"

Alternatively remove this:

1 24 "WinXP/WindowsXP.Manifest"

thanks

regards, saludos

Antonio Linares
www.fivetechsoft.com
Posts: 2706
Joined: Fri Oct 07, 2005 01:50 PM
Re: Building Harbour 3.4 for BCC outside MSYS
Posted: Mon Dec 18, 2017 02:18 PM
Antonio

Here is the modifications to tutor01.rc
Code (fw): Select all Collapse
ico ICON "./../ICONS/fivewin.ico"

1 24 "WinXP/WindowsXP.Manifest"


BuildxM
Code (fw): Select all Collapse
@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

: msvc compiler line

rem %vcdir%\bin\cl -TP -W3 -c /GA %1.c
%vcdir%\bin\cl.Exe -TP -W3 -O2 -nologo -c -GA -GS -EHsc /I%hdir%\include /I%vcdir%\include %1.c


:ENDCOMPILE

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

echo %1.obj  > msvc.tmp

:  FiveWin xHarbour libs
echo c:\Fwh1707\lib\FivehMX.lib c:\Fwh1707\lib\Fivehc32.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

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

rem %vcdir%\bin\link @msvc.tmp /nologo /NODEFAULTLIB:msvcrt /force:multiple /nxcompat:NO /subsystem:windows,5.01 /machine:X86 /Ignore:4006 /LIBPATH:c:\Msvc17\lib
%vcdir%\bin\link @msvc.tmp /NODEFAULTLIB:LIBC /nologo /NODEFAULTLIB:msvcrt /force:multiple /nxcompat:NO /subsystem:windows,5.01 /machine:X86 /Ignore:4006 

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


error
Code (fw): Select all Collapse
ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
³ 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 <!-- m --><a class="postlink" href="http://www.harbour-project.org/">http://www.harbour-project.org/</a><!-- m -->
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
   Creating library tutor01.lib and object tutor01.exp
tutor01.exe : warning LNK4088: image being generated due to /FORCE option; image may not run
* Application successfully built


The application is built but ( again ) will not run ... I am going to go back and download xHarbourM for 2015 and delete xHarbourM 2017


Rick Lipkin

ps .... xHarbourM for MSVC 2015 makes no difference