FWH64 - hb_fopen

FWH64 - hb_fopen

Postby Verhoven » Sat Jul 03, 2021 7:03 am

En la actualización de FWH64 me acabo de encontrar con este otro problema al tratar de compilar código que incluye la función hb_fopen:

Antes de la llamada a la función tengo esto:
Code: Select all  Expand view
FILE * hb_fopen( const char * path, const char * mode );
 


En el prg, en una parte en C, tengo puesto:
Code: Select all  Expand view
  FILE *fichero = hb_fopen( "LISTFTP.DAT", "w" );
 


Y al compilar obtengo el error siguiente:
Code: Select all  Expand view
C:\harbour64\include\hbapifs.h(479): error C2732: la especificación de vinculación se contradice con la especificación anterior para 'hb_fopen'
C:\harbour64\include\hbapifs.h(479): note: vea la declaración de 'hb_fopen'
.


Usando la función fopen de C no obtengo el error. Solo el warning siguiente:
Code: Select all  Expand view
internet.prg(623): warning C4996: 'fopen': This function or variable may be unsafe. Consider using fopen_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.


Pero el código si se usa esa función recomendada por el MSVC 2019, fopen_s, no sería tan portable y prefiero no usarla.
Verhoven
 
Posts: 505
Joined: Sun Oct 09, 2005 7:23 pm

Re: FWH64 - hb_fopen

Postby Antonio Linares » Sat Jul 03, 2021 9:17 am

Comenta esta línea:

// FILE * hb_fopen( const char * path, const char * mode );

no te hace falta
regards, saludos

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

Re: FWH64 - hb_fopen

Postby Verhoven » Sat Jul 03, 2021 10:34 am

Comentando esa línea arroja este error:
Code: Select all  Expand view
[vcvarsall.bat] Environment initialized for: 'x86_x64'
***** Compiling with Harbour 64 bytes...
Harbour 3.2.0dev (r2011030937)
Copyright (c) 1999-2020, https://harbour.github.io/
Compiling 'wintpv.prg' and generating preprocessed output to 'wintpv.ppo'...
Lines 73276, Functions/Procedures 861
Generating C source output to 'wintpv.c'... Done.
.
***** Compiling with MSVC 2019 64 bytes...
Compilador de optimización de C/C++ de Microsoft (R) versión 19.29.30038.1 para x64
(C) Microsoft Corporation. Todos los derechos reservados.

wintpv.c
internet.prg(546): error C3861: 'hb_fopen': no se encontró el identificador
Verhoven
 
Posts: 505
Joined: Sun Oct 09, 2005 7:23 pm


Re: FWH64 - hb_fopen

Postby xmanuel » Sat Jul 03, 2021 2:56 pm

Parece que te falte el include -> hbapifs.h que es donde esta declarado el prototipo de la función....
Está definido como
extern HB_EXPORT FILE * hb_fopen( const char *path, const char *mode );
______________________________________________________________________________
Sevilla - Andalucía
xmanuel
 
Posts: 756
Joined: Sun Jun 15, 2008 7:47 pm
Location: Sevilla

Re: FWH64 - hb_fopen

Postby Verhoven » Sat Jul 03, 2021 7:24 pm

Incluyendo el fichero que dice Manuel ha funcionado. Muchas gracias.
Verhoven
 
Posts: 505
Joined: Sun Oct 09, 2005 7:23 pm

Re: FWH64 - hb_fopen

Postby Antonio Linares » Sun Jul 04, 2021 5:50 am

> C:\harbour64\include\hbapifs.h(479): error C2732: la especificación de vinculación se contradice con la especificación anterior para 'hb_fopen'

En tu primer ejemplo lo estabas incluyendo
regards, saludos

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


Return to FiveWin para Harbour/xHarbour

Who is online

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