Page 1 of 1

Visual Studio Community 2019

PostPosted: Tue Apr 12, 2022 1:20 am
by Marcelo Roggeri
Hola buenas noches, estoy intentando compilar el ejemplo de FWH64 donde esta ubicado el archivo vs2010_make.zip
Al compilar hace referencia a un archivo que no se donde buscarlo, el archivo en cuestión es: c:\vc98\bin\rc.exe -r -d__FLAT__ one.rc
Si me pueden decir de donde lo saco porque no logro encontrarlo y parece ser lo único que me falta si pasa esto
Code: Select all  Expand view
c:\vc98\bin\rc.exe

Desde ya agradezco cualquier data.
Saludos
Marcelo

Re: Visual Studio Community 2019

PostPosted: Tue Apr 12, 2022 9:25 am
by Antonio Linares
Marcelo,

Ese rc.exe que comentas es de 32 bits, para que lo necesitas para 64 bits ?

De todas formas, aquí lo tienes:
https://github.com/FiveTechSoft/FWH_tools/raw/master/vc98.zip

Mi consejo es que uses hbmk2 para construir las aplicaciones. En estos foros hay ejemplos de como usarlo con FWH

Re: Visual Studio Community 2019

PostPosted: Tue Apr 12, 2022 12:38 pm
by Marcelo Roggeri
Antonio buenos dias, este codigo esta en el ejemplo de FWH64
Code: Select all  Expand view
#Microsoft VS2010 make sample, (c) FiveTech Software 2010

HBDIR=c:\harbour
FWDIR=c:\fwteam
VCDIR="c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC"
SDKDIR="c:\Program Files\Microsoft SDKs\Windows\v7.0A"

.SUFFIXES: .prg .c .obj .rc .res

one.exe : one.obj two.obj three.obj one.res
   echo one.obj two.obj three.obj > msvc.tmp

   echo $(FWDIR)\lib\FiveH32.lib $(FWDIR)\lib\FiveHC32.lib >> msvc.tmp

   echo $(HBDIR)\lib\vc32\hbrtl.lib    >> msvc.tmp
   echo $(HBDIR)\lib\vc32\hbvm.lib     >> msvc.tmp
   echo $(HBDIR)\lib\vc32\gtgui.lib    >> msvc.tmp
   echo $(HBDIR)\lib\vc32\hblang.lib   >> msvc.tmp
   echo $(HBDIR)\lib\vc32\hbmacro.lib  >> msvc.tmp
   echo $(HBDIR)\lib\vc32\hbrdd.lib    >> msvc.tmp
   echo $(HBDIR)\lib\vc32\rddntx.lib   >> msvc.tmp
   echo $(HBDIR)\lib\vc32\rddcdx.lib   >> msvc.tmp
   echo $(HBDIR)\lib\vc32\rddfpt.lib   >> msvc.tmp
   echo $(HBDIR)\lib\vc32\hbsix.lib    >> msvc.tmp
   echo $(HBDIR)\lib\vc32\hbdebug.lib  >> msvc.tmp
   echo $(HBDIR)\lib\vc32\hbcommon.lib >> msvc.tmp
   echo $(HBDIR)\lib\vc32\hbpp.lib     >> msvc.tmp
   echo $(HBDIR)\lib\vc32\hbwin.lib    >> msvc.tmp
   echo $(HBDIR)\lib\vc32\hbcplr.lib   >> msvc.tmp
   echo $(HBDIR)\lib\vc32\xhb.lib      >> msvc.tmp
   echo $(HBDIR)\lib\vc32\hbpcre.lib   >> msvc.tmp
   echo $(HBDIR)\lib\vc32\hbct.lib     >> msvc.tmp
   echo $(HBDIR)\lib\vc32\hbcpage.lib  >> msvc.tmp

   echo $(SDKDIR)\lib\kernel32.lib  >> msvc.tmp
   echo $(SDKDIR)\lib\user32.lib    >> msvc.tmp
   echo $(SDKDIR)\lib\gdi32.lib     >> msvc.tmp
   echo $(SDKDIR)\lib\winspool.lib  >> msvc.tmp
   echo $(SDKDIR)\lib\comctl32.lib  >> msvc.tmp
   echo $(SDKDIR)\lib\comdlg32.lib  >> msvc.tmp
   echo $(SDKDIR)\lib\advapi32.lib  >> msvc.tmp
   echo $(SDKDIR)\lib\shell32.lib   >> msvc.tmp
   echo $(SDKDIR)\lib\ole32.lib     >> msvc.tmp
   echo $(SDKDIR)\lib\oleaut32.lib  >> msvc.tmp
   echo $(SDKDIR)\lib\uuid.lib      >> msvc.tmp
   echo $(SDKDIR)\lib\odbc32.lib    >> msvc.tmp
   echo $(SDKDIR)\lib\odbccp32.lib  >> msvc.tmp
   echo $(SDKDIR)\lib\iphlpapi.lib  >> msvc.tmp
   echo $(SDKDIR)\lib\mpr.lib       >> msvc.tmp
   echo $(SDKDIR)\lib\version.lib   >> msvc.tmp
   echo $(SDKDIR)\lib\wsock32.lib   >> msvc.tmp
   echo $(SDKDIR)\lib\msimg32.lib   >> msvc.tmp
   echo $(SDKDIR)\lib\oledlg.lib    >> msvc.tmp
   echo $(SDKDIR)\lib\psapi.lib     >> msvc.tmp
   echo $(SDKDIR)\lib\gdiplus.lib   >> msvc.tmp
   echo $(SDKDIR)\lib\winmm.lib     >> msvc.tmp

   IF EXIST one.res echo one.res >> msvc.tmp

   SET LIB=$(VCDIR)\lib
   SET PATH=$(VCDIR)\bin
   link @msvc.tmp /nologo /subsystem:windows /force:multiple /NODEFAULTLIB:libc > link.log
   @type link.log
   @del one.c
   @del two.c
   @del three.c
   @del msvc.tmp

one.obj   : one.c
two.obj   : two.c
three.obj : three.c

one.c   : one.prg
two.c   : two.prg
three.c : three.prg

one.res : one.rc
   c:\vc98\bin\rc.exe -r -d__FLAT__ one.rc

.prg.c:
   $(HBDIR)\bin\harbour $< /n /i$(FWDIR)\include;$(HBDIR)\include

.c.obj:
   SET PATH=$(VCDIR)\bin
   cl.exe -c -TP -W3 -I$(HBDIR)\include -I$(SDKDIR)\include -I$(VCDIR)\include $<
 


Como quedaria esa parte en 64?

Re: Visual Studio Community 2019

PostPosted: Tue Apr 12, 2022 4:47 pm
by Antonio Linares
Marcelo,

Revisa FWH\samples\buildh64.bat y verás que usamos esto:

IF EXIST %1.rc rc -r -D__64__ %1

es decir, usamos el propio rc.exe de Visual Studio

Re: Visual Studio Community 2019

PostPosted: Tue Apr 12, 2022 9:24 pm
by Marcelo Roggeri
Gracias Antonio seguí tu consejo y logre compilar dos prg, me dio mucho trabajo, buscando en el foro fui encontrando pistas.
Ya iré probando cosas complejas, por el momento un hola mundo desde otro prg.
Saludos
Marcelo
Comparto el ejemplo
test1.prg
Code: Select all  Expand view
#INCLUDE "FiveWin.ch"
function MAIN()
    test()
return nil
 

test2.prg
Code: Select all  Expand view
#INCLUDE "FiveWin.ch"
function test()
    ? "Hola mundo desde test2.prg"
return nil

go.bat
Code: Select all  Expand view
h:\harbour_msvc64\bin\hbmk2 test.hbp

test.hbp
Code: Select all  Expand view
test1.prg
test2.prg

-Ic:\fwh64\include

-Lc:\fwh64\lib
-lfiveh64
-lfivehc64

#LIBRERIAS HARBOUR
-lhbwin
-lgtgui
-llibhpdf
-lhbhpdf
-lhbct
-lxhb
-lhbziparc
-lhbmzip
-lminizip
-lpng
-lhbcomm
-lhbtip
-lhbmxml
-lmxml
-lkernel32  
-luser32    
-lgdi32    
-lwinspool  
-lcomctl32  
-lcomdlg32  
-ladvapi32  
-lshell32  
-lole32    
-loleaut32  
-luuid      
-lodbc32    
-lodbccp32  
-liphlpapi  
-lmpr      
-lversion  
-lwsock32  
-lmsimg32  
-loledlg    
-lpsapi    
-lgdiplus  
-lwinmm    
-lvfw32    
-lws2_32    
-lstrmiids  


xhb.hbc
hbct.hbc
hbwin.hbc
hbmzip.hbc
hbziparc.hbc
hbcomm.hbc
hbhpdf.hbc
hbmxml.hbc
-otest

Re: Visual Studio Community 2019

PostPosted: Tue Apr 12, 2022 11:02 pm
by Antonio Linares
muy bien! :-)

Re: Visual Studio Community 2019

PostPosted: Wed Apr 13, 2022 8:22 pm
by Marcelo Roggeri
Buenas tardes, Antonio tengo otra inquietud o problema
Hice un pequeño proyecto con 1 tabla MySql, al compilar me da el siguiente error.
Image
Podrias indicarme que estoy haciendo mal?
sistema.hbp
Code: Select all  Expand view
menu.prg
classMenu.prg
classMiDB.prg
classRubros.prg

-Ic:\fwh64\include

-Lc:\fwh64\lib
-LTDolphin64
-Lfiveh64
-Lfivehc64
-Llibcurl
-Llibmysql64

#LIBRERIAS HARBOUR
-Lhbwin
-Lgtgui
-Llibhpdf
-Lhbhpdf
-Lhbct
-Lxhb
-Lhbziparc
-Lhbmzip
-Lminizip
-Lpng
-Lhbcomm
-Lhbtip
-Lhbmxml
-Lmxml
-Lkernel32  
-Luser32    
-Lgdi32    
-Lwinspool  
-Lcomctl32  
-Lcomdlg32  
-Ladvapi32  
-Lshell32  
-Lole32    
-Loleaut32  
-Luuid      
-Lodbc32    
-Lodbccp32  
-Liphlpapi  
-Lmpr      
-Lversion  
-Lwsock32  
-Lmsimg32  
-Loledlg    
-Lpsapi    
-Lgdiplus  
-Lwinmm    
-Lvfw32    
-Lws2_32    
-Lstrmiids  
-Lhbextern

-omenu

Saludos
Marcelo

Re: Visual Studio Community 2019

PostPosted: Wed Apr 13, 2022 8:43 pm
by cnavarro
Marcelo, por qué estás usando el linkador de Borland?. Eso es lo que aparece en la pantalla y el error que te da es porque las librerías que usan ambos compiladores son distintas ( El formato de Borland se llama OMF y el de Microsoft, COFF ). Justo el error que te da es porque estás usando las librerías correctas para VSC pero el linkador es el de borland, y se queja que no reconoce su formato de librerías.

Re: Visual Studio Community 2019

PostPosted: Wed Apr 13, 2022 8:55 pm
by Marcelo Roggeri
Hola Cristóbal buenas tardes, te muestro lo que uso, utilice lo que me indico Antonio.
go.bat
Code: Select all  Expand view
h:\harbour_msvc64\bin\hbmk2 sistema.hbp

sistema.hbp
Code: Select all  Expand view
menu.prg
classMenu.prg
classMiDB.prg
classRubros.prg

-Ic:\fwh64\include

-Lc:\fwh64\lib
-lTDolphin64
-lfiveh64
-lfivehc64
#-Llibcurl
-llibmysql64

#LIBRERIAS HARBOUR
-lhbwin
-lgtgui
-llibhpdf
-lhbhpdf
-lhbct
-lxhb
-lhbziparc
-lhbmzip
-lminizip
-lpng
-lhbcomm
-lhbtip
-lhbmxml
-lmxml
-lkernel32  
-luser32    
-lgdi32    
-lwinspool  
-lcomctl32  
-lcomdlg32  
-ladvapi32  
-lshell32  
-lole32    
-loleaut32  
-luuid      
-lodbc32    
-lodbccp32  
-liphlpapi  
-lmpr      
-lversion  
-lwsock32  
-lmsimg32  
-loledlg    
-lpsapi    
-lgdiplus  
-lwinmm    
-lvfw32    
-lws2_32    
-lstrmiids  
-lhbextern

-omenu

Asi es como genero el executable o intento va

Re: Visual Studio Community 2019

PostPosted: Wed Apr 13, 2022 10:00 pm
by cnavarro
Si no "seteas" path, etc., hbmk2 cogerá el compilador que encuentre en tu path, y ese es el que usará
Te aconsejo que mires el fichero buildh32.bat, ahí verás que llama al .bat de configuración de VSC
Esa llamada has de hacerla antes de invocar al hbmk2 en tu .bat

Re: Visual Studio Community 2019

PostPosted: Wed Apr 13, 2022 10:37 pm
by Marcelo Roggeri
Clarísimo gracias Cristóbal ahora reviso
Saludos

Re: Visual Studio Community 2019

PostPosted: Thu Apr 14, 2022 12:44 pm
by Marcelo Roggeri
Ahora si pude compilar me tomaba los path como bien dijiste Cristóbal.
Muchas gracias