Building Harbour 3.4 for BCC outside MSYS
Re: Building Harbour 3.4 for BCC outside MSYS
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
!!!!!!
BCC 7.3 40,5 secs
MSC 27,2 secs
!!!!!!
- 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
Great! Can you also report the EXE size difference?
EMG
EMG
Re: Building Harbour 3.4 for BCC outside MSYS
8,72 MB with BCC
8,78 MB with MSC
8,78 MB with MSC
- 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
Can you compile an "hello world" sample with the two compilers and report the EXE sizes, please? This sample:
EMG
Code: Select all
#include "Fivewin.ch"
FUNCTION MAIN()
? "Hello, World!"
RETURN NIL
- 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
mastintin
I must be jinxed or hexed .. I made your change
BuildRick.bat
error
I have seen this LIBC.lib show up several times in my trials .. there is no such file ..
Rick Lipkin
I must be jinxed or hexed .. I made your change
BuildRick.bat
Code: Select all
@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
Code: Select all
ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
³ 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
LINK : fatal error LNK1104: cannot open file 'LIBC.lib'
* Linking errors *
Rick Lipkin
Re: Building Harbour 3.4 for BCC outside MSYS
I'm running out of ideasRick Lipkin wrote:mastintin
I must be jinxed or hexed .. I made your change
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: 161
- Joined: Tue Oct 18, 2005 10:01 am
Re: Building Harbour 3.4 for BCC outside MSYS
Hi Enrico,Enrico Maria Giordano wrote:Can you compile an "hello world" sample with the two compilers and report the EXE sizes, please? This sample:
EMGCode: Select all
#include "Fivewin.ch" FUNCTION MAIN() ? "Hello, World!" RETURN NIL
Size in this days is not a problem, but, this is the results:
BCC 7.2: 3.76
MSVC2017: 3.78
Regards.
- 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
It is, if you have to send the exe via email or other Internet channel.toninhofwi wrote:Size in this days is not a problem,
Great! They are almost identical!toninhofwi wrote:but, this is the results:
BCC 7.2: 3.76
MSVC2017: 3.78
EMG
- 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
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
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
- Antonio Linares
- Site Admin
- Posts: 37481
- Joined: Thu Oct 06, 2005 5:47 pm
- Location: Spain
- Contact:
Re: Building Harbour 3.4 for BCC outside MSYS
Rick,
What errors are you getting ?
What errors are you getting ?
- 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
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 *
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 *
- 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
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
EMG
- 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
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
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
- Antonio Linares
- Site Admin
- Posts: 37481
- Joined: Thu Oct 06, 2005 5:47 pm
- Location: Spain
- Contact:
Re: Building Harbour 3.4 for BCC outside MSYS
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
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
- 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
Antonio
Here is the modifications to tutor01.rc
BuildxM
error
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
Here is the modifications to tutor01.rc
Code: Select all
ico ICON "./../ICONS/fivewin.ico"
1 24 "WinXP/WindowsXP.Manifest"
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
: 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
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
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
Rick Lipkin
ps .... xHarbourM for MSVC 2015 makes no difference