compiler mismatch con FWH2407

compiler mismatch con FWH2407

Postby José Luis Sánchez » Mon Sep 23, 2024 6:54 am

Buenos días,

al intentar compilar los samples de FWH2407 que se entregó con el webminar me aparecen los siguientes errores. Creo que el error se debe a que el compilador BCC que estoy usando no es el mismo que el que se ha usando para construir Harbour. ?Alguien me puede decir de donde puedo obtener ese compilador? Creo que hay una edición Community de BCC o algo así, ¿de donde se puede descargar?

Si alguien me quiere contactar por privado que lo haga por favor a joseluis.sncz ARROBA gmail PUNTO com

Image

Saludos,
User avatar
José Luis Sánchez
 
Posts: 556
Joined: Thu Oct 13, 2005 9:23 am
Location: Novelda - Alicante - España

Re: compiler mismatch con FWH2407

Postby Antonio Linares » Mon Sep 23, 2024 9:18 am

regards, saludos

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

Re: compiler mismatch con FWH2407

Postby José Luis Sánchez » Mon Sep 23, 2024 3:46 pm

Muchas gracias Antonio, ahora me funciona correctamente.
Saludos,
User avatar
José Luis Sánchez
 
Posts: 556
Joined: Thu Oct 13, 2005 9:23 am
Location: Novelda - Alicante - España

Re: compiler mismatch con FWH2407

Postby Verhoven » Mon Sep 23, 2024 7:02 pm

Buenas tardes Antonio,
Nocesito tu ayuda, estoy teniendo problemas para conseguir construir las aplicaciones con la nueva versión 24.07.
Me arroja los errores siguientes y ya no se como seguir:

Code: Select all  Expand view  RUN
┌────────────────────────────────────────────────────────────────────────────┐
?FWH 64 for Harbour 24.07 (VS64bits)  Jul. 2024  Harbour development power  │▄
?(c) FiveTech 1993-2024 for Microsoft Windows 9X/NT/200X/ME/XP/Vista/7/8/10 │█
└────────────────────────────────────────────────────────────────────────────┘?
  ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀?
**********************************************************************
** Visual Studio 2022 Developer Command Prompt v17.2.5
** Copyright (c) 2022 Microsoft Corporation
**********************************************************************
[vcvarsall.bat] Environment initialized for: 'x64'
Compiling...
Harbour 3.2.0dev (r2407221137)
Copyright (c) 1999-2021, https://harbour.github.io/
Compiling 'wges.prg' and generating preprocessed output to 'wges.ppo'...
Lines 62146, Functions/Procedures 689
Generating C source output to 'wges.c'... Done.
Compilador de optimización de C/C++ de Microsoft (R) versión 19.32.31332 para x64
(C) Microsoft Corporation. Todos los derechos reservados.

wges.c
Microsoft (R) Windows (R) Resource Compiler Version 10.0.10011.16384
Copyright (C) Microsoft Corporation.  All rights reserved.

wges.obj : error LNK2019: símbolo externo __imp_InternetOpenA sin resolver al que se hace referencia en la función HB_FUN_INTERNETOPEN_2
wges.obj : error LNK2019: símbolo externo __imp_InternetCloseHandle sin resolver al que se hace referencia en la función HB_FUN_INTERNETCLOSEHANDLE_2
wges.obj : error LNK2019: símbolo externo __imp_InternetConnectA sin resolver al que se hace referencia en la función HB_FUN_INTERNETCONNECT_2
wges.obj : error LNK2019: símbolo externo __imp_InternetWriteFile sin resolver al que se hace referencia en la función HB_FUN_INTERNETWRITEFILE_2
wges.obj : error LNK2019: símbolo externo __imp_InternetFindNextFileA sin resolver al que se hace referencia en la función HB_FUN_INTERNETFINDNEXTFILE_2
wges.obj : error LNK2019: símbolo externo __imp_FtpFindFirstFileA sin resolver al que se hace referencia en la función HB_FUN_FTPFINDFIRSTFILE_2
wges.obj : error LNK2019: símbolo externo __imp_FtpOpenFileA sin resolver al que se hace referencia en la función HB_FUN_FTPOPENFILE_2
wges.obj : error LNK2019: símbolo externo __imp_FtpGetFileSize sin resolver al que se hace referencia en la función HB_FUN_FTPGETFILESIZE
wges.exe : fatal error LNK1120: 20 externos sin resolver
* Linking errors *


Parte del código que está dando el fallo es el siguiente:
Code: Select all  Expand view  RUN
#pragma BEGINDUMP

// Para compilar con Borland BCC582, BCC63 y para VSC2013-2019.
#include "C:\CLIWIN\FW\warningsVSC2013.h"   //Elimina los warnings del compilador para la función fopen() de C.

//#include <winsock2.h>
#include <ws2tcpip.h>  //For WinSock 2 library: ws2_32.lib //Equivalente actualizado de #include <winsock2.h>
/*  #include <ws2ipdef.h> // Por lo visto, demasiado moderna. Con msvc 2019 Mejor seguir usando "ws2tcpip.h"    */

#include <wininet.h>
#include <windows.h>
#include <stdio.h>

#include "hbapi.h"
#include "hbapifs.h"  //Esta incluye: FILE * hb_fopen( const char * path, const char * mode );
#include "WinBase.h"

#include <iphlpapi.h>
#include <icmpapi.h>

HB_FUNC( INTERNETOPEN_2 )
{
   #ifdef __64__  //Opciones para 64 Bits
      hb_retnll( ( __int64 ) InternetOpen( hb_parc( 1 ), hb_parnl( 2 ), hb_parc( 3 ), hb_parc( 4 ), hb_parnl( 5 ) ) );
   #else
      hb_retnl( ( LONG ) InternetOpen( hb_parc( 1 ), hb_parnl( 2 ), hb_parc( 3 ), hb_parc( 4 ), hb_parnl( 5 ) ) );
   #endif
}


Para conseguir llegar hasta aquí he tenido que cambiar un par de líneas del buildh64.bat, las líneas comentadas con rem es la original que trae el .bat de FW24.07:
Code: Select all  Expand view  RUN
rem cl -TC -W3 -O2 -c -I%hdir%\include -D_WIN64 -D__FLAT__ -I%fwdir%\include -I-I"%ProgramFiles(x86)%\Windows Kits"\10\Include\10.0.18362.0\ucrt %1.c
cl -D__64__ -TP -W3 -O2 -c -I%hdir%\include -D_WIN64 -D__FLAT__ -I%fwdir%\include -I"%ProgramFiles(x86)%\Windows Kits"\10\Include\10.0.22621.0\ucrt %1.c


Y el buildh64.bat que trato de utilizar es:
Code: Select all  Expand view  RUN
@ECHO OFF
CLS
ECHO 旼컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴커
ECHO ?FWH 64 for Harbour 24.07 (VS64bits)  Jul. 2024  Harbour development power  넵
ECHO ?(c) FiveTech 1993-2024 for Microsoft Windows 9X/NT/200X/ME/XP/Vista/7/8/10
ECHO 읕컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴켸?
ECHO  賽賽賽賽賽賽賽賽賽賽賽賽賽賽賽賽賽賽賽賽賽賽賽賽賽賽賽賽賽賽賽賽賽賽賽賽賽賽?

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

@set oldpath=%Path%
@set oldinclude=%include%
@set oldlib=%lib%
@set oldlibpath=%libpath%
@set current_dir=%cd%
setlocal
@set path=%path%;C:\harbour_msvc2022_64_20240814\lib\win\msvc64;C:\harbour_msvc2022_64_20240814\include
call "%ProgramFiles%\Microsoft Visual Studio\2022\Community\VC\Auxiliary\Build\vcvarsall.bat" amd64
if "%FWDIR%" == "" set FWDIR=C:\fwh64bis
if "%HBDIR%" == "" set HBDIR=C:\harbour_msvc2022_64_20240814

ECHO Compiling...

set hdir=%HBDIR%
set hdirl=%hdir%\lib\win\msvc64

@cd %current_dir%
rem %hdir%\bin\win\msvc64\harbour %1 /n /i%fwdir%\include;%hdir%\include /w /p /d__64__ %2 %3 > comp.log 2> warnings.log
%hdir%\bin\win\msvc64\harbour %1 /n /i%FWDIR%\include;%hdir%\include /p /d__64__ /d__NODEBUG__ %2 %3 > comp.log 2> warnings.log

IF ERRORLEVEL 1 GOTO COMPILEERROR
@type comp.log
@type warnings.log

rem cl -TC -W3 -O2 -c -I%hdir%\include -D_WIN64 -D__FLAT__ -I%fwdir%\include -I-I"%ProgramFiles(x86)%\Windows Kits"\10\Include\10.0.18362.0\ucrt %1.c
cl -D__64__ -TP -W3 -O2 -c -I%hdir%\include -D_WIN64 -D__FLAT__ -I%fwdir%\include -I"%ProgramFiles(x86)%\Windows Kits"\10\Include\10.0.22621.0\ucrt %1.c
:ENDCOMPILE

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

echo %1.obj  > msvc.tmp

echo %fwdir%\lib\FiveH64.lib %fwdir%\lib\FiveHC64.lib %fwdir%\lib\libmariadb64.lib >> msvc.tmp
rem echo %fwdir%\lib\drxlsx64.lib  >> msvc.tmp
rem echo %fwdir%\lib\xlsxlibhbmsvc64.lib  >> msvc.tmp
echo %fwdir%\lib\hbhpdf64.lib >> msvc.tmp
echo %fwdir%\lib\libhpdf64.lib >> msvc.tmp
echo %hdirl%\hbrtl.lib  >> msvc.tmp
echo %hdirl%\hbvm.lib  >> msvc.tmp
echo %hdirl%\gtgui.lib  >> msvc.tmp
echo %hdirl%\hblang.lib  >> msvc.tmp
echo %hdirl%\hbmacro.lib  >> msvc.tmp
echo %hdirl%\hbrdd.lib  >> msvc.tmp
echo %hdirl%\rddntx.lib  >> msvc.tmp
echo %hdirl%\rddcdx.lib  >> msvc.tmp
echo %hdirl%\rddfpt.lib  >> msvc.tmp
echo %hdirl%\hbsix.lib  >> msvc.tmp
echo %hdirl%\hbdebug.lib  >> msvc.tmp
echo %hdirl%\hbcommon.lib  >> msvc.tmp
echo %hdirl%\hbpp.lib  >> msvc.tmp
echo %hdirl%\hbcpage.lib  >> msvc.tmp
echo %hdirl%\hbwin.lib  >> msvc.tmp
echo %hdirl%\hbct.lib  >> msvc.tmp
echo %hdirl%\hbziparc.lib >> msvc.tmp
echo %hdirl%\hbmzip.lib >> msvc.tmp
echo %hdirl%\hbzlib.lib >> msvc.tmp
echo %hdirl%\hbpcre.lib >> msvc.tmp
echo %hdirl%\minizip.lib >> msvc.tmp
echo %hdirl%\xhb.lib >> msvc.tmp
echo %hdirl%\hbcplr.lib >> msvc.tmp
echo %hdirl%\png.lib >> msvc.tmp
echo %hdirl%\hbtip.lib >> msvc.tmp
echo %hdirl%\hbzebra.lib >> msvc.tmp
echo %hdirl%\hbcurl.lib >> msvc.tmp
echo %hdirl%\libcurl.lib >> msvc.tmp

echo %hdirl%\hbcomm.lib >> msvc.tmp
echo %hdirl%\hbmxml.lib >> msvc.tmp
echo %hdirl%\mxml.lib >> msvc.tmp

rem Uncomment these two lines to use Advantage RDD
rem echo %hdirl%\rddads.lib >> msvc.tmp
rem echo %hdirl%\ace32.lib >> msvc.tmp

echo kernel32.lib  >> msvc.tmp
echo user32.lib    >> msvc.tmp
echo gdi32.lib     >> msvc.tmp
echo winspool.lib  >> msvc.tmp
echo comctl32.lib  >> msvc.tmp
echo comdlg32.lib  >> msvc.tmp
echo advapi32.lib  >> msvc.tmp
echo shell32.lib   >> msvc.tmp
echo ole32.lib     >> msvc.tmp
echo oleaut32.lib  >> msvc.tmp
echo uuid.lib      >> msvc.tmp
echo odbc32.lib    >> msvc.tmp
echo odbccp32.lib  >> msvc.tmp
echo iphlpapi.lib  >> msvc.tmp
echo mpr.lib       >> msvc.tmp
echo version.lib   >> msvc.tmp
echo wsock32.lib   >> msvc.tmp
echo msimg32.lib   >> msvc.tmp
echo oledlg.lib    >> msvc.tmp
echo psapi.lib     >> msvc.tmp
echo gdiplus.lib   >> msvc.tmp
echo winmm.lib     >> msvc.tmp
echo vfw32.lib     >> msvc.tmp
echo ws2_32.lib    >> msvc.tmp
echo strmiids.lib  >> msvc.tmp
echo ucrt.lib      >> msvc.tmp
echo UxTheme.lib   >> msvc.tmp

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

link @msvc.tmp /nologo /subsystem:windows /NODEFAULTLIB:libucrt /NODEFAULTLIB:msvcrt
rem /force:multiple
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=
endlocal
%1
GOTO EXIT
ECHO

rem delete temporary files
@del %1.c
@del msvc.tmp

:COMPILEERROR
@type comp.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
Verhoven
 
Posts: 522
Joined: Sun Oct 09, 2005 7:23 pm


Re: compiler mismatch con FWH2407

Postby Verhoven » Mon Sep 23, 2024 7:37 pm

Lo encontré, gracias Enrico,

Faltaba una lib que añadir al buildh64.bat:

echo wininet.lib >> msvc.tmp

Solucionado.
Verhoven
 
Posts: 522
Joined: Sun Oct 09, 2005 7:23 pm


Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: Google [Bot], groiss and 54 guests