UE Studio Config - Harbour 3.0, MSVC, FWH

UE Studio Config - Harbour 3.0, MSVC, FWH

Postby TimStone » Fri Dec 02, 2011 5:32 pm

For those of you who use Ultra Edit Studio, it is very convenient to have it actually build your application. You create an application, add all the files you will use, and then you can have it generate and run the make file.

We now have this successfully running using FiveWin Harbour ( 11.11 ), Microsoft Visual Studio 2010 ( VC ), and Harbour 3.0. To do this, when you configure your compiler, use the Harbour config ( its included in your FWH distribution if its not already on your system ) and make sure it is setup as follows:

Code: Select all  Expand view  RUN

# --------- Harbour y FWH configuration --------
# --- general --------------------------------------
# $P  - project name
# $Pp - path to project directory
# $Pn - project name
# --- compile --------------------------------------
# $I  - input full name
# $Ip - input path
# $In - input name
# $Ie - input extension
# $O  - output file
# $Op - path to output file
# $On - output filename (without path)
# $Oe - output extension
# $R  - release/debug setting for compiler
# --- build ----------------------------------------
# $T  - target full name
# $Tp - target path
# $Tn - target name
# $O  - output file
# $Op - path to output file
# $On - output filename (without path)
# $Oe - output extension
# $R  - release/debug setting for linker

[Settings]
Target =
Category&01 = DEFAULT RUN CONFIGURATION
Working Directory =.
Command Line Arguments =

Category&02 = Harbour Options
Automatic Memvar Declaration = no|yes
Variables Are Assumed = no|yes
Generate Preprocessed Output = no|yes
Warning Level = 1|2|3|4|0
User Include Path =
User Defines =

Compiler Options =
Linker Options =

Excluded Files = Excludes

[SettingsInfo]
Target = Provides a space for you to specify an output file and location of the program that the linker creates.
Working Directory = Provides a space for you to specify the directory in which executing occurs. If you do not specify a directory, executing occurs in the directory where the executable is located.
Command Line Arguments = Provides a space for you to specify command-line arguments you want to pass to the program at startup.
Compiler Options = Provides a space for you to specify an additional compiler options.
User Defines = Shows the switches the tool will use to build. Use ';' as delimiter.
Linker Options = Provides a space for you to specify an additional linker options.
Excluded Files = This will exclude the file(s) included in this UE project group from the build.

[SettingsReps]
User Defines = @[;|-D%s]
Automatic Memvar Declaration = no=|yes=/a
Variables Are Assumed = no=|yes=/v
Generate Preprocessed Output = no=|yes=/p
User Include Path = ^^@[;|;%s]
User Include Path&1 = ^^@[;| /i%s]
Use Multi Thread Library = no|yes
Warning Level = @/w%s

[Variables]
FWH = L:\fwh
HPATH = L:\Harbour
CPATH = c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC
SDKPATH = c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A

FPATHL = $(FWH)\LIB
HPATHL = $(HPATH)\LIB\WIN\MSVC
CPATHL = $(CPATH)\LIB
SDKPATHL = $(SDKPATH)\Lib
UPATHL = L:\Harbour\UserLibs

HOPT = /n /gc0 /q0 $(Compiler Options) /i$(HPATH)\INCLUDE /i$(FWH)\INCLUDE $(User Include Path&1) $(User Defines) $(Automatic Memvar Declaration) $(Variables Are Assumed) $(Generate Preprocessed Output) $(Warning Level)
COPT = -TP -W3 -c -I"$(CPATH)\INCLUDE"
LOPT = /nologo /subsystem:windows /force:multiple /NODEFAULTLIB:libc

# Five Win libraries
LIBS1 = FiveHC32.lib FiveH32.lib
# Harbour Libraries
LIBS2 = hbrtl.lib hbvm.lib gtgui.lib gtwin.lib hblang.lib hbmacro.lib hbrdd.lib rddntx.lib rddcdx.lib rddfpt.lib hbsix.lib
LIBS3 = hbdebug.lib hbcommon.lib hbpp.lib hbwin.lib hbcpage.lib hbct.lib xhb.lib hbpcre.lib png.lib hbzlib.lib
# VC libraries
LIBS4 = kernel32.lib user32.lib gdi32.lib winspool.lib comctl32.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib oledlg.lib winmm.lib
LIBS5 = uuid.lib odbc32.lib odbccp32.lib iphlpapi.lib mpr.lib version.lib wsock32.lib psapi.lib msimg32.lib libcmt.lib oldnames.lib libcpmt.lib
# 3rd Party libraries
LIBS6 = [i][b]add any user libs here[/b][/i]
LIBS = $(LIBS1) $(LIBS2) $(LIBS3) $(LIBS4) $(LIBS5) $(LIBS6)


[Environment]
PATH = $(HPATH)\BIN;$(CPATH)\BIN;%PATH%
INCLUDE = $(FWH)\INCLUDE;$(HPATH)\INCLUDE;$(CPATH)\INCLUDE;$(SDKPATH)\INCLUDE
LIB = $(FPATHL);$(HPATHL);$(CPATHL);$(SDKPATHL);$(UPATHL)
BuildMode = %UESMode%

[General]
TargetExt = .EXE
ReleaseOut = Release
DebugOut = Debug
UseFullPaths = 1
UseDosNames = 0
Excludes = $(Excluded Files)
GenerateEDGroup=$(External Dependencies)
.CPP = .C

[MakeCommands]
run = Execute Application
makef = Show Makefile

[Execute Application]
Title = Execute $T
Cmd0 = $(Command Line Arguments)
Depends = $T
ShowWindow = 1
DisplayConsole = 0

[Show Makefile]
Title=Show makefile
Cmd0=uestudio makefile
ShowWindow=0
DisplayConsole=0

[InsertFiles]

[FileGroups]
FGO = .obj;
FGR = .res;
FGL = .lib;
FGD = .def;

[GroupFormats]
FGO = %s
FGR = %s
FGL = %s

[Build]
Out = $T
Depends = $FGO $FGR
DebugFlag =
ReleaseFlag =
Cmd0 = LINK $(LOPT) $FGO [i][b]yourfile[/b][/i].res $(LIBS)

[.PRG]
Out = $In.c
DebugFlag = /b
ReleaseFlag = /l
Cmd0 = harbour $I $(HOPT) $R /o$O

IncFiles = 1
CaseSensitive = 0
IncDirs = .;$(INCLUDE);
IncKeyWords = #include;
Comments = /*.*/.//.eol.

[.C]
Out = $In.obj
Cmd0 = cl.exe $(COPT) $I

[.RC]
Out = $In.res
Cmd0 = L:\vc98\bin\rc.exe -r -fo$O $I

IncFiles = 1
CaseSensitive = 0
IncDirs = .;$(INCLUDE);
IncKeyWords = #include;
Comments = /*.*/.//.eol.

 


Please note the following:

[list=]
Your path names may be different
We use an rc compiler from VC98, an older version of Visual C. You should substitute the name/path for your own resource compiler
Be sure to add any additional user libraries
The .prg files are not mentioned here. They will include all .prg files you define in the Project automatically. Also include your rc files in the project list.
[/list]

My special thanks to Antonio and Daniel who were very helpful in this process. I felt this was important because 1) many people told me how good UE Studio is, and that I should be using it, 2) Its much easier then maintaining a make file, 3) I really believe we will prosper more if we are fully compatible with Microsoft C compiler, and use the latest versions. On this last point, you can use Visual C 2010 Express, available for free from Microsoft. Soon we will have the 2012 versions, Windows 8, Metro, windows tablets ( to work with the Windows 7 phone which is gaining popularity ), servers, cloud services, etc. all available to us.

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
User avatar
TimStone
 
Posts: 2944
Joined: Fri Oct 07, 2005 1:45 pm
Location: Trabuco Canyon, CA USA

Re: UE Studio Config - Harbour 3.0, MSVC, FWH

Postby Antonio Linares » Fri Dec 02, 2011 9:25 pm

Tim,

Thanks for sharing it :-)

Instead of:
L:\vc98\bin\rc.exe
better use:
%ProgramFiles%\Microsoft SDKs\Windows\v7.0A\bin\rc.exe

Important: Borland brc32.exe is NOT compatible with MSVC and a generated res with it could corrupt the EXE that usually won't boot
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
Antonio Linares
Site Admin
 
Posts: 42100
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain

Re: UE Studio Config - Harbour 3.0, MSVC, FWH

Postby frose » Mon Dec 19, 2011 11:14 am

Tim,

tried to build with your adapted UEStudio config, but no OBJ/EXE files are generated!

Code: Select all  Expand view  RUN
# --------- Harbour y FWH configuration --------
# --- general --------------------------------------
# $P  - project name
# $Pp - path to project directory
# $Pn - project name
# --- compile --------------------------------------
# $I  - input full name
# $Ip - input path
# $In - input name
# $Ie - input extension
# $O  - output file
# $Op - path to output file
# $On - output filename (without path)
# $Oe - output extension
# $R  - release/debug setting for compiler
# --- build ----------------------------------------
# $T  - target full name
# $Tp - target path
# $Tn - target name
# $O  - output file
# $Op - path to output file
# $On - output filename (without path)
# $Oe - output extension
# $R  - release/debug setting for linker

[Settings]
Target =
Category&01 = DEFAULT RUN CONFIGURATION
Working Directory =.
Command Line Arguments =

Category&02 = Harbour Options
Automatic Memvar Declaration = no|yes
Variables Are Assumed = no|yes
Generate Preprocessed Output = no|yes
Warning Level = 1|2|3|4|0
User Include Path =
User Defines =

Compiler Options =
Linker Options =

Excluded Files = Excludes

[SettingsInfo]
Target = Provides a space for you to specify an output file and location of the program that the linker creates.
Working Directory = Provides a space for you to specify the directory in which executing occurs. If you do not specify a directory, executing occurs in the directory where the executable is located.
Command Line Arguments = Provides a space for you to specify command-line arguments you want to pass to the program at startup.
Compiler Options = Provides a space for you to specify an additional compiler options.
User Defines = Shows the switches the tool will use to build. Use ';' as delimiter.
Linker Options = Provides a space for you to specify an additional linker options.
Excluded Files = This will exclude the file(s) included in this UE project group from the build.

[SettingsReps]
User Defines = @[;|-D%s]
Automatic Memvar Declaration = no=|yes=/a
Variables Are Assumed = no=|yes=/v
Generate Preprocessed Output = no=|yes=/p
User Include Path = ^^@[;|;%s]
User Include Path&1 = ^^@[;| /i%s]
Use Multi Thread Library = no|yes
Warning Level = @/w%s

[Variables]
FWH = c:\fwh
HPATH = c:\hb_msvc
CPATH = c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC
SDKPATH = c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A

FPATHL = $(FWH)\LIB
HPATHL = $(HPATH)\LIB\WIN\MSVC
CPATHL = $(CPATH)\LIB
SDKPATHL = $(SDKPATH)\Lib

HOPT = /n /gc0 /q0 $(Compiler Options) /i$(HPATH)\INCLUDE /i$(FWH)\INCLUDE $(User Include Path&1) $(User Defines) $(Automatic Memvar Declaration) $(Variables Are Assumed) $(Generate Preprocessed Output) $(Warning Level)
COPT = -TP -W3 -c -I"$(CPATH)\INCLUDE"

LOPT = /nologo /subsystem:windows /force:multiple /NODEFAULTLIB:libc

# Five Win libraries
LIBS1 = FiveHC32.lib FiveH32.lib
# Harbour Libraries
LIBS2 = hbrtl.lib hbvm.lib gtgui.lib gtwin.lib hblang.lib hbmacro.lib hbrdd.lib rddntx.lib rddcdx.lib rddfpt.lib hbsix.lib
LIBS3 = hbdebug.lib hbcommon.lib hbpp.lib hbwin.lib hbcpage.lib hbct.lib xhb.lib hbpcre.lib png.lib hbzlib.lib
# VC libraries
LIBS4 = kernel32.lib user32.lib gdi32.lib winspool.lib comctl32.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib oledlg.lib winmm.lib
LIBS5 = uuid.lib odbc32.lib odbccp32.lib iphlpapi.lib mpr.lib version.lib wsock32.lib psapi.lib msimg32.lib libcmt.lib oldnames.lib libcpmt.lib
# 3rd Party libraries
LIBS6 = [i][b]add any user libs here[/b][/i]
LIBS = $(LIBS1) $(LIBS2) $(LIBS3) $(LIBS4) $(LIBS5) $(LIBS6)

[Environment]
PATH = $(HPATH)\BIN;$(CPATH)\BIN;%PATH%
INCLUDE = $(FWH)\INCLUDE;$(HPATH)\INCLUDE;$(CPATH)\INCLUDE;$(SDKPATH)\INCLUDE
LIB = $(FPATHL);$(HPATHL);$(CPATHL);$(SDKPATHL)
BuildMode = %UESMode%

[General]
TargetExt = .EXE
ReleaseOut = Release
DebugOut = Debug
UseFullPaths = 1
UseDosNames = 0
Excludes = $(Excluded Files)
GenerateEDGroup=$(External Dependencies)
.CPP = .C

[MakeCommands]
run = Execute Application
makef = Show Makefile

[Execute Application]
Title = Execute $T
Cmd0 = $(Command Line Arguments)
Depends = $T
ShowWindow = 1
DisplayConsole = 0

[Show Makefile]
Title=Show makefile
Cmd0=uestudio makefile
ShowWindow=0
DisplayConsole=0

[InsertFiles]

[FileGroups]
FGO = .obj;
FGR = .res;
FGL = .lib;
FGD = .def;

[GroupFormats]
FGO = %s
FGR = %s
FGL = %s

[Build]
Out = $T
Depends = $FGO $FGR
DebugFlag =
ReleaseFlag =
Cmd0 = LINK $(LOPT) $FGO [i][b]yourfile[/b][/i].res $(LIBS)

[.PRG]
Out = $In.c
DebugFlag = /b
ReleaseFlag = /l
Cmd0 = harbour $I $(HOPT) $R /o$O

IncFiles = 1
CaseSensitive = 0
IncDirs = .;$(INCLUDE);
IncKeyWords = #include;
Comments = /*.*/.//.eol.

[.C]
Out = $In.obj
Cmd0 = cl.exe $(COPT) $I

[.RC]
Out = $In.res
Cmd0 = c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\rc.exe -r -fo$O $I

IncFiles = 1
CaseSensitive = 0
IncDirs = .;$(INCLUDE);
IncKeyWords = #include;
Comments = /*.*/.//.eol.
 

Here is the make file:
Code: Select all  Expand view  RUN
################################################################################
# [Oct.31.2011.08:52:48]                                                       #
#                                 harbour_test                                 #
#                                                                              #
#                                            Monday 19 December 2011, 12:11:20 #
################################################################################

##### GROUPS ###################################################################

FG00=\
    harbour_test.obj


##### BUILD ####################################################################

ALL: $(FG00)
    LINK /nologo /subsystem:windows /force:multiple /NODEFAULTLIB:libc $(FG00) [i][b]yourfile[/b][/i].res FiveHC32.lib FiveH32.lib hbrtl.lib hbvm.lib gtgui.lib gtwin.lib hblang.lib hbmacro.lib hbrdd.lib rddntx.lib rddcdx.lib rddfpt.lib hbsix.lib hbdebug.lib hbcommon.lib hbpp.lib hbwin.lib hbcpage.lib hbct.lib xhb.lib hbpcre.lib png.lib hbzlib.lib kernel32.lib user32.lib gdi32.lib winspool.lib comctl32.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib oledlg.lib winmm.lib uuid.lib odbc32.lib odbccp32.lib iphlpapi.lib mpr.lib version.lib wsock32.lib psapi.lib msimg32.lib libcmt.lib oldnames.lib libcpmt.lib [i][b]add any user libs here[/b][/i]

harbour_test.EXE: $(FG00)
    LINK /nologo /subsystem:windows /force:multiple /NODEFAULTLIB:libc $(FG00) [i][b]yourfile[/b][/i].res FiveHC32.lib FiveH32.lib hbrtl.lib hbvm.lib gtgui.lib gtwin.lib hblang.lib hbmacro.lib hbrdd.lib rddntx.lib rddcdx.lib rddfpt.lib hbsix.lib hbdebug.lib hbcommon.lib hbpp.lib hbwin.lib hbcpage.lib hbct.lib xhb.lib hbpcre.lib png.lib hbzlib.lib kernel32.lib user32.lib gdi32.lib winspool.lib comctl32.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib oledlg.lib winmm.lib uuid.lib odbc32.lib odbccp32.lib iphlpapi.lib mpr.lib version.lib wsock32.lib psapi.lib msimg32.lib libcmt.lib oldnames.lib libcpmt.lib [i][b]add any user libs here[/b][/i]


##### COMMANDS #################################################################

run:  harbour_test.EXE
    harbour_test.EXE

makef:
    uestudio makefile


##### COMPILE ##################################################################

INC001=c:\fwh\INCLUDE\FiveWin.ch\
    c:\fwh\INCLUDE\Dialog.ch\
    c:\fwh\INCLUDE\Font.ch\
    c:\fwh\INCLUDE\Ini.ch\
    c:\fwh\INCLUDE\Menu.ch\
    c:\fwh\INCLUDE\Print.ch\
    c:\fwh\INCLUDE\Colors.ch\
    c:\fwh\INCLUDE\DLL.ch\
    c:\fwh\INCLUDE\Folder.ch\
    c:\fwh\INCLUDE\Objects.ch\
    c:\hb_msvc\INCLUDE\hbclass.ch\
    c:\hb_msvc\INCLUDE\hboo.ch\
    c:\fwh\INCLUDE\obendcls.ch\
    c:\fwh\INCLUDE\ODBC.ch\
    c:\fwh\INCLUDE\DDE.ch\
    c:\fwh\INCLUDE\Video.ch\
    c:\fwh\INCLUDE\VKey.ch\
    c:\fwh\INCLUDE\Tree.ch\
    c:\fwh\INCLUDE\WinApi.ch\
    c:\fwh\INCLUDE\FwMsgs.h\
    c:\fwh\INCLUDE\fwxbase.ch

harbour_test.c: C:\hb\harbour_test\harbour_test.prg $(INC001)
    harbour C:\hb\harbour_test\harbour_test.prg /n /gc0 /q0 /ic:\hb_msvc\INCLUDE /ic:\fwh\INCLUDE /w1 /l /oharbour_test.c


harbour_test.obj: harbour_test.c
    cl.exe -TP -W3 -c -I"c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\INCLUDE" harbour_test.c



##### CLEAN ####################################################################

CLEAN:
    -@erase "harbour_test.c"
    -@erase "harbour_test.obj"
    -@erase "harbour_test.EXE"

 

What's wrong?
Windows 11 Pro 22H2 22621.1848
Microsoft (R) Windows (R) Resource Compiler Version 10.0.10011.16384
Harbour 3.2.0dev (r2008190002)
FWH 23.10 x86
User avatar
frose
 
Posts: 392
Joined: Tue Mar 10, 2009 11:54 am
Location: Germany, Rietberg

Re: UE Studio Config - Harbour 3.0, MSVC, FWH

Postby TimStone » Mon Dec 19, 2011 4:38 pm

Make sure the path is correct for your c compiler.
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
User avatar
TimStone
 
Posts: 2944
Joined: Fri Oct 07, 2005 1:45 pm
Location: Trabuco Canyon, CA USA

Re: UE Studio Config - Harbour 3.0, MSVC, FWH

Postby frose » Mon Dec 19, 2011 6:13 pm

The cl.exe is in this folder: C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\bin, so the path is correct.

If running cl.exe in a cmd shell, the error 'the application has failed to start because mspdb100.dll was not found' comes up.

Running vcvars32.bat helps in the cmd shell, but how to run vcvars32.bat before starting the compiler via UEStudio?
Windows 11 Pro 22H2 22621.1848
Microsoft (R) Windows (R) Resource Compiler Version 10.0.10011.16384
Harbour 3.2.0dev (r2008190002)
FWH 23.10 x86
User avatar
frose
 
Posts: 392
Joined: Tue Mar 10, 2009 11:54 am
Location: Germany, Rietberg

Re: UE Studio Config - Harbour 3.0, MSVC, FWH

Postby Antonio Linares » Mon Dec 19, 2011 7:23 pm

Frank,

Please copy mspdb100.dll to the folder where cl.exe is
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
Antonio Linares
Site Admin
 
Posts: 42100
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain

Re: UE Studio Config - Harbour 3.0, MSVC, FWH

Postby frose » Tue Dec 20, 2011 7:59 am

Hi Antonio, hi Tim,

added the path to the suitable mspdb100.dll:
Code: Select all  Expand view  RUN

CCOMMON7 = C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE
PATH = $(HPATH)\BIN;$(CPATH)\BIN;$(CCOMMON7);%PATH%

Adjusted the path for the Harbour-Libs:
Code: Select all  Expand view  RUN
HPATHL = $(HPATH)\LIB

No 3rd Party libraries:
Code: Select all  Expand view  RUN
# LIBS6 = [i][b]add any user libs here[/b][/i]
LIBS = $(LIBS1) $(LIBS2) $(LIBS3) $(LIBS4) $(LIBS5)

No .res file:
Code: Select all  Expand view  RUN
#Cmd0 = LINK $(LOPT) $FGO [i][b]yourfile[/b][/i].res $(LIBS)
Cmd0 = LINK $(LOPT) $FGO $(LIBS)

Now links with unresolved externals:
Code: Select all  Expand view  RUN
--------------------Configuration: harbour_test - Release--------------------
Microsoft (R) 32-Bit C/C++-Optimierungscompiler Version 16.00.30319.01 fr 80x86
Copyright (C) Microsoft Corporation. Alle Rechte vorbehalten.

harbour_test.c
   Bibliothek "harbour_test.lib" und Objekt "harbour_test.exp" werden erstellt.
FiveH32.lib(WINDOW.obj) : error LNK2001: Nicht aufgelöstes externes Symbol "_HB_FUN_XFREEPROC".
FiveH32.lib(TMETAFIL.obj) : error LNK2001: Nicht aufgelöstes externes Symbol "_HB_FUN_FREELIBRARY".
FiveH32.lib(INI.obj) : error LNK2001: Nicht aufgelöstes externes Symbol "_HB_FUN_FREELIBRARY".
FiveH32.lib(SHELLAPI.obj) : error LNK2001: Nicht aufgelöstes externes Symbol "_HB_FUN_FREELIBRARY".
FiveH32.lib(FILENAME.obj) : error LNK2001: Nicht aufgelöstes externes Symbol "_HB_FUN_FREELIBRARY".
FiveH32.lib(HELP32.obj) : error LNK2001: Nicht aufgelöstes externes Symbol "_HB_FUN_FREELIBRARY".
FiveH32.lib(IMAGE.obj) : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "_HB_FUN_FREELIBRARY" in Funktion "_HB_FUN_FIISTRANSPARENT".
FiveH32.lib(PRV2PDF.obj) : error LNK2001: Nicht aufgelöstes externes Symbol "_HB_FUN_FREELIBRARY".
FiveH32.lib(WINDOW.obj) : error LNK2001: Nicht aufgelöstes externes Symbol "_HB_FUN_FREELIBRARY".
FiveH32.lib(DIALOG.obj) : error LNK2001: Nicht aufgelöstes externes Symbol "_HB_FUN_FREELIBRARY".
FiveH32.lib(HARBOUR.obj) : error LNK2001: Nicht aufgelöstes externes Symbol "_HB_FUN_FREELIBRARY".
FiveH32.lib(GETTASKS.obj) : error LNK2001: Nicht aufgelöstes externes Symbol "_HB_FUN_FREELIBRARY".
FiveH32.lib(TMETAFIL.obj) : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "_HB_FUN_LOADLIBRARY" in Funktion "_HB_FUN_TMETAFILE_SETFILE".
FiveH32.lib(INI.obj) : error LNK2001: Nicht aufgelöstes externes Symbol "_HB_FUN_LOADLIBRARY".
FiveH32.lib(SHELLAPI.obj) : error LNK2001: Nicht aufgelöstes externes Symbol "_HB_FUN_LOADLIBRARY".
FiveH32.lib(FILENAME.obj) : error LNK2001: Nicht aufgelöstes externes Symbol "_HB_FUN_LOADLIBRARY".
FiveH32.lib(HELP32.obj) : error LNK2001: Nicht aufgelöstes externes Symbol "_HB_FUN_LOADLIBRARY".
FiveH32.lib(IMAGE.obj) : error LNK2001: Nicht aufgelöstes externes Symbol "_HB_FUN_LOADLIBRARY".
FiveH32.lib(PRV2PDF.obj) : error LNK2001: Nicht aufgelöstes externes Symbol "_HB_FUN_LOADLIBRARY".
FiveH32.lib(WINDOW.obj) : error LNK2001: Nicht aufgelöstes externes Symbol "_HB_FUN_LOADLIBRARY".
FiveH32.lib(DIALOG.obj) : error LNK2001: Nicht aufgelöstes externes Symbol "_HB_FUN_LOADLIBRARY".
FiveH32.lib(HARBOUR.obj) : error LNK2001: Nicht aufgelöstes externes Symbol "_HB_FUN_LOADLIBRARY".
FiveH32.lib(GETTASKS.obj) : error LNK2001: Nicht aufgelöstes externes Symbol "_HB_FUN_LOADLIBRARY".
harbour_test.exe : fatal error LNK1120: 3 nicht aufgelöste externe Verweise.
harbour_test.EXE - 24 error(s), 0 warning(s)
 
Windows 11 Pro 22H2 22621.1848
Microsoft (R) Windows (R) Resource Compiler Version 10.0.10011.16384
Harbour 3.2.0dev (r2008190002)
FWH 23.10 x86
User avatar
frose
 
Posts: 392
Joined: Tue Mar 10, 2009 11:54 am
Location: Germany, Rietberg

Re: UE Studio Config - Harbour 3.0, MSVC, FWH

Postby Antonio Linares » Tue Dec 20, 2011 11:00 am

Frank,

Please add these functions to your main PRG:

Code: Select all  Expand view  RUN

#pragma BEGINDUMP

#include <windows.h>
#include <hbapi.h>

HB_FUNC( LOADLIBRARY )
{
   hb_retnl( ( HB_LONG ) LoadLibrary( ( char * ) hb_parc( 1 ) ) );
}

HB_FUNC( FREELIBRARY )
{
   hb_retl( FreeLibrary( ( HMODULE ) hb_parnl( 1 ) ) );
}

HB_FUNC( XFREEPROC )
{
}

#pragma ENDDUMP
 
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
Antonio Linares
Site Admin
 
Posts: 42100
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain

Re: UE Studio Config - Harbour 3.0, MSVC, FWH

Postby frose » Tue Dec 20, 2011 12:43 pm

Antonio,
now it's working fine :)
Next step is to invoke the Debugger FWdbg!
I've already downloaded the last version 'FWDbg 0.57.rar', do I have to recompile the lib/dll with MSVC?
Windows 11 Pro 22H2 22621.1848
Microsoft (R) Windows (R) Resource Compiler Version 10.0.10011.16384
Harbour 3.2.0dev (r2008190002)
FWH 23.10 x86
User avatar
frose
 
Posts: 392
Joined: Tue Mar 10, 2009 11:54 am
Location: Germany, Rietberg

Re: UE Studio Config - Harbour 3.0, MSVC, FWH

Postby Horizon » Tue Dec 20, 2011 2:09 pm

Hi,

Can we use MSVC Express Edition?
Regards,

Hakan ONEMLI

Harbour & MSVC 2022 & FWH 23.04
Horizon
 
Posts: 1322
Joined: Fri May 23, 2008 1:33 pm

Re: UE Studio Config - Harbour 3.0, MSVC, FWH

Postby Antonio Linares » Tue Dec 20, 2011 4:42 pm

Horizon wrote:Hi,

Can we use MSVC Express Edition?


Hakan,

Yes, FWH is fully compatible with MSVC 2010 Express :-)

Please review FWH\samples\buildh32.bat
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
Antonio Linares
Site Admin
 
Posts: 42100
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain

Re: UE Studio Config - Harbour 3.0, MSVC, FWH

Postby Antonio Linares » Tue Dec 20, 2011 4:54 pm

frose wrote:Antonio,
now it's working fine :)
Next step is to invoke the Debugger FWdbg!
I've already downloaded the last version 'FWDbg 0.57.rar', do I have to recompile the lib/dll with MSVC?


Its already included inside FWH ! :-)

Simply compile yours PRG using /b also

For a quickly test do from FWH\samples:

buildh.bat tutor02 /b

Image
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
Antonio Linares
Site Admin
 
Posts: 42100
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain

Re: UE Studio Config - Harbour 3.0, MSVC, FWH

Postby frose » Tue Dec 20, 2011 6:33 pm

ahhh, I see!

but it's crashes in my new UEStudio - MSVC build process:
Image
Perhaps the FWDbg.dll located in FWH\samples isn't suitable!?
Windows 11 Pro 22H2 22621.1848
Microsoft (R) Windows (R) Resource Compiler Version 10.0.10011.16384
Harbour 3.2.0dev (r2008190002)
FWH 23.10 x86
User avatar
frose
 
Posts: 392
Joined: Tue Mar 10, 2009 11:54 am
Location: Germany, Rietberg

Re: UE Studio Config - Harbour 3.0, MSVC, FWH

Postby Antonio Linares » Tue Dec 20, 2011 9:40 pm

Frank,

Please link winmm.lib also from MSVC
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
Antonio Linares
Site Admin
 
Posts: 42100
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain

Re: UE Studio Config - Harbour 3.0, MSVC, FWH

Postby frose » Wed Dec 21, 2011 6:51 am

Antonio,

it's already included:
Code: Select all  Expand view  RUN
# Five Win libraries
LIBS1 = FiveHC32.lib FiveH32.lib
# Harbour Libraries
LIBS2 = hbrtl.lib hbvm.lib gtgui.lib gtwin.lib hblang.lib hbmacro.lib hbrdd.lib rddntx.lib rddcdx.lib rddfpt.lib hbsix.lib
LIBS3 = hbdebug.lib hbcommon.lib hbpp.lib hbwin.lib hbcpage.lib hbct.lib xhb.lib hbpcre.lib png.lib hbzlib.lib
# VC libraries
LIBS4 = kernel32.lib user32.lib gdi32.lib winspool.lib comctl32.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib oledlg.lib winmm.lib
LIBS5 = uuid.lib odbc32.lib odbccp32.lib iphlpapi.lib mpr.lib version.lib wsock32.lib psapi.lib msimg32.lib libcmt.lib oldnames.lib libcpmt.lib
 
Windows 11 Pro 22H2 22621.1848
Microsoft (R) Windows (R) Resource Compiler Version 10.0.10011.16384
Harbour 3.2.0dev (r2008190002)
FWH 23.10 x86
User avatar
frose
 
Posts: 392
Joined: Tue Mar 10, 2009 11:54 am
Location: Germany, Rietberg

Next

Return to FiveWin for Harbour/xHarbour

Who is online

Users browsing this forum: Google [Bot] and 70 guests