Special Instructions for Microsoft Visual Studio
================================================

Created by DF7BE

   $Id: MS-Visual-Studio.txt 3185 2022-12-18 10:51:28Z df7be $

Valid for Version :
Community Version 2022

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
! Under construction !               !
! The problem is, that Harbour       !
! cannot be compiled with MSVC 2022  !
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 

Tested with Windows 11, 64 bit (x86_64)


Prerequisites
=============

Install the Microsoft Visual Studio by starting the 
setup exe.

To get the recent path to reach the compiler start
the Windows-Explorer, open the search dialog on
start the search of file "cl.exe".
Set the filename in " ... " for exact search,
for example "excpt.h".

Modify "pfad_msc.bat":

Modify the line with
SET MSVCPATH=C:\ ...
to the found path above.

Search for "stdlib.h" and set 
REM HB_HOST_INC=

Repeat this for following files:

stddef.h

C:\Program Files (x86)\Windows Kits\10\Include\
windows.h

winapifamily.h
excpt.h


and add (if needed) a new line with
SET HB_INCn="<full include path>"

and combine it like this:
SET HB_HOST_INC=%HB_INC1% -I%HB_INC2% -I%HB_INC3% ...

Install GNU make in path
 
 
Set Environment for all following steps   
=======================================

C:\hwgui\hwgui-msc\samples\dev\env\pfad_msc.bat 

Modify script to your own needs (see above).

Call environment script:
samples\dev\env\pfad_msc.bat 

Check for compiler:
C:\hwgui\hwgui-msc>cl
Microsoft (R) C/C++-Optimierungscompiler Version 19.34.31935 für x64
Copyright (C) Microsoft Corporation. Alle Rechte vorbehalten.

Syntax: cl [ Option... ] Dateiname... [ /link Linkeroption... ]
 
Check for GNU make:
make --version
GNU Make 3.81
Copyright (C) 2006  Free Software Foundation, Inc.
... 

Build Harbour
=============

Default installation directory is: C:\harbour-msc\core-master

cd \harbour-msc\core-master


Build HWGUI
===========
- Modify "make_b32.bat" to your own needs.
- Start by enter 
  make_b32.bat

  
Build a HWGUI sample 
====================
(in directory "samples")
  
hbmk.bat dbview.prg

Use this script as a sample to build your own app.

C:\harbour-msc\core-master>C:\hwgui\hwgui-msc\samples\dev\env\pfad_msc.bat

C:\harbour-msc\core-master>make
! Building Harbour 3.2.0dev from source - https://harbour.github.io
! MAKE: make 3.81 sh.exe
! HB_HOST_PLAT: win (x86_64)  HB_SHELL: nt
! HB_PLATFORM: win (x86)
! HB_COMPILER: msvc
! Component: 'zlib' found in C:/harbour-msc/core-master/src/3rd/zlib (local)
! Component: 'pcre' found in C:/harbour-msc/core-master/src/3rd/pcre (local)
! Component: 'gpm' not supported on win platform
! Component: 'slang' not found. Configure with HB_WITH_SLANG.
! Component: 'curses' not found. Configure with HB_WITH_CURSES.
! Component: 'x11' not found. Configure with HB_WITH_X11.
! Component: 'wattcp/watt-32' not supported on win platform
make[1]: Für das Ziel »all« ist nichts zu tun.
make[1]: Für das Ziel »all« ist nichts zu tun.
! 'hbdossrl' library skipped (platform or compiler not supported)
cl.exe   -I. -I"C:\Program Files\Microsoft Visual Studio\2022\Community\Common7\IDE\VC\Linux\include\usr\include" -I"C:\Program Files\Microsoft Visual Studio\2022\Community\Common7\IDE\VC\Linux\include\usr\include\x86_64-linux-gnu" -I"C:\Program Files\Microsoft Visual Studio\2022\Community\Common7\IDE\VC\Linux\include\usr\lib\gcc\x86_64-linux-gnu\5\include" -I"C:\Program Files (x86)\Windows Kits\10\Include\10.0.22000.0\um" -I"C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\include" -I"C:\Program Files (x86)\Windows Kits\10\Include\10.0.22000.0\shared" -nologo -TC -W2 -O2  -DUNICODE -IC:/harbour-msc/core-master/src/3rd/zlib -DPNG_NO_STDIO -DPNG_ARM_NEON_OPT=0  -Fopng.obj  -c ../../../png.c
png.c
C:\Program Files\Microsoft Visual Studio\2022\Community\Common7\IDE\VC\Linux\include\usr\lib\gcc\x86_64-linux-gnu\5\include\stddef.h(216): error C2371: "size_t": Neudefinition; unterschiedliche Basistypen
../../../png.c: note: Siehe Deklaration von "size_t"
C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\include\vcruntime.h(194): error C2371: "ptrdiff_t": Neudefinition; unterschiedliche Basistypen
C:\Program Files\Microsoft Visual Studio\2022\Community\Common7\IDE\VC\Linux\include\usr\lib\gcc\x86_64-linux-gnu\5\include\stddef.h(149): note: Siehe Deklaration von "ptrdiff_t"
C:\Program Files\Microsoft Visual Studio\2022\Community\Common7\IDE\VC\Linux\include\usr\lib\gcc\x86_64-linux-gnu\5\include\stdarg.h(40): error C2061: Syntaxfehler: Bezeichner "__gnuc_va_list"
C:\Program Files\Microsoft Visual Studio\2022\Community\Common7\IDE\VC\Linux\include\usr\lib\gcc\x86_64-linux-gnu\5\include\stdarg.h(40): error C2059: Syntaxfehler: ";"
../../../png.c(2674): error C2065: "__DBL_MIN_10_EXP__": nichtdeklarierter Bezeichner
../../../png.c(2710): error C2065: "__DBL_DIG__": nichtdeklarierter Bezeichner
../../../png.c(2713): error C2065: "__DBL_DIG__": nichtdeklarierter Bezeichner
../../../png.c(2714): error C2065: "__DBL_DIG__": nichtdeklarierter Bezeichner
../../../png.c(2726): error C2065: "__DBL_MIN__": nichtdeklarierter Bezeichner
../../../png.c(2726): error C2065: "__DBL_MAX__": nichtdeklarierter Bezeichner
../../../png.c(2747): error C2065: "__DBL_MIN__": nichtdeklarierter Bezeichner
../../../png.c(2752): error C2065: "__DBL_MAX__": nichtdeklarierter Bezeichner
../../../png.c(2911): error C2065: "__DBL_MIN__": nichtdeklarierter Bezeichner
../../../png.c(2989): error C2065: "__DBL_MIN__": nichtdeklarierter Bezeichner
make[4]: *** [png.obj] Fehler 2
make[3]: *** [descend] Fehler 2
make[2]: *** [png] Fehler 2
make[1]: *** [3rd] Fehler 2
make: *** [src] Fehler 2



* =================== EOF of MS-Visual-Studio.txt ======================
 
