FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour Error en librerias de Harbour MSVC
Posts: 1710
Joined: Tue Oct 28, 2008 06:26 PM
Error en librerias de Harbour MSVC
Posted: Wed Apr 17, 2024 09:00 PM
Buenas tardes estimados

He descargado Harbour para msvc2022 de https://github.com/FiveTechSoft/harbour_and_xharbour_builds/blob/master/README.md

Y me da éstos errores:
Code (fw): Select all Collapse
--------------------Configuración: MovieCenter - Release--------------------
LINK : warning LNK4286: symbol '_strncmp' defined in 'libucrt.lib(strncmp.obj)' is imported by 'hbcplr.lib(hbfunchk.obj)'
LINK : warning LNK4286: symbol '_strncmp' defined in 'libucrt.lib(strncmp.obj)' is imported by 'hbpcre.lib(pcrecomp.obj)'
LINK : warning LNK4286: symbol '_strncmp' defined in 'libucrt.lib(strncmp.obj)' is imported by 'hbcplr.lib(hbdbginf.obj)'
LINK : warning LNK4286: symbol '_strncmp' defined in 'libucrt.lib(strncmp.obj)' is imported by 'hbcplr.lib(harboury.obj)'
LINK : warning LNK4217: symbol '_strncmp' defined in 'libucrt.lib(strncmp.obj)' is imported by 'hbcplr.lib(cmdcheck.obj)' in function '_hb_compChkOptionLen'
LINK : warning LNK4286: symbol '_strncmp' defined in 'libucrt.lib(strncmp.obj)' is imported by 'hbcplr.lib(genc.obj)'
LINK : warning LNK4217: symbol '_strncmp' defined in 'libucrt.lib(strncmp.obj)' is imported by 'hbrtl.lib(hbjson.obj)' in function '__hb_jsonDecode'
LINK : warning LNK4286: symbol '_strncmp' defined in 'libucrt.lib(strncmp.obj)' is imported by 'hbvm.lib(hvmall.obj)'
LINK : warning LNK4286: symbol '_strncmp' defined in 'libucrt.lib(strncmp.obj)' is imported by 'rddntx.lib(dbfntx1.obj)'
LINK : warning LNK4286: symbol '_strncmp' defined in 'libucrt.lib(strncmp.obj)' is imported by 'hbcommon.lib(funcid.obj)'
LINK : warning LNK4217: symbol '_exit' defined in 'libucrt.lib(exit.obj)' is imported by 'hbrtl.lib(errint.obj)' in function '_hb_errInternal'
LINK : warning LNK4286: symbol '_fclose' defined in 'libucrt.lib(fclose.obj)' is imported by 'hbcplr.lib(compi18n.obj)'
LINK : warning LNK4286: symbol '_fclose' defined in 'libucrt.lib(fclose.obj)' is imported by 'hbpp.lib(ppcore.obj)'
LINK : warning LNK4286: symbol '_fclose' defined in 'libucrt.lib(fclose.obj)' is imported by 'minizip.lib(ioapi.obj)'
LINK : warning LNK4217: symbol '_fclose' defined in 'libucrt.lib(fclose.obj)' is imported by 'hbrtl.lib(errintlo.obj)' in function '_hb_errInternalRaw'
LINK : warning LNK4286: symbol '_fclose' defined in 'libucrt.lib(fclose.obj)' is imported by 'hbcplr.lib(hbmain.obj)'
LINK : warning LNK4286: symbol '_fclose' defined in 'libucrt.lib(fclose.obj)' is imported by 'hbcplr.lib(genc.obj)'
LINK : warning LNK4217: symbol '_fclose' defined in 'libucrt.lib(fclose.obj)' is imported by 'hbcplr.lib(genhrb.obj)' in function '_hb_compGenPortObj'
LINK : warning LNK4286: symbol '___stdio_common_vfprintf' defined in 'libucrt.lib(output.obj)' is imported by 'hbpp.lib(ppcore.obj)'
LINK : warning LNK4286: symbol '___stdio_common_vfprintf' defined in 'libucrt.lib(output.obj)' is imported by 'hbcplr.lib(hbcomp.obj)'
LINK : warning LNK4286: symbol '___stdio_common_vfprintf' defined in 'libucrt.lib(output.obj)' is imported by 'hbcplr.lib(genc.obj)'
LINK : warning LNK4286: symbol '___stdio_common_vfprintf' defined in 'libucrt.lib(output.obj)' is imported by 'hbcplr.lib(compi18n.obj)'
LINK : warning LNK4286: symbol '___stdio_common_vfprintf' defined in 'libucrt.lib(output.obj)' is imported by 'hbcplr.lib(gencc.obj)'
LINK : warning LNK4217: symbol '___stdio_common_vfprintf' defined in 'libucrt.lib(output.obj)' is imported by 'hbrtl.lib(errintlo.obj)' in function '__vfprintf_l'
LINK : warning LNK4286: symbol '___stdio_common_vfprintf' defined in 'libucrt.lib(output.obj)' is imported by 'hbvm.lib(hvmall.obj)'
LINK : warning LNK4286: symbol '___stdio_common_vfprintf' defined in 'libucrt.lib(output.obj)' is imported by 'rddcdx.lib(dbfcdx1.obj)'
LINK : warning LNK4286: symbol '___stdio_common_vfprintf' defined in 'libucrt.lib(output.obj)' is imported by 'hbcplr.lib(hbmain.obj)'
LINK : warning LNK4217: symbol '___acrt_iob_func' defined in 'libucrt.lib(_file.obj)' is imported by 'hbvm.lib(hvmall.obj)' in function '_internal_malloc_stats'
LINK : warning LNK4286: symbol '___acrt_iob_func' defined in 'libucrt.lib(_file.obj)' is imported by 'rddcdx.lib(dbfcdx1.obj)'
LINK : warning LNK4286: symbol '___acrt_iob_func' defined in 'libucrt.lib(_file.obj)' is imported by 'hbcplr.lib(hbcomp.obj)'
LINK : warning LNK4286: symbol '___acrt_iob_func' defined in 'libucrt.lib(_file.obj)' is imported by 'hbpp.lib(ppcore.obj)'
LINK : warning LNK4217: symbol '_abort' defined in 'libucrt.lib(abort.obj)' is imported by 'hbvm.lib(hvmall.obj)' in function '_add_segment'
LINK : warning LNK4217: symbol '_atoi' defined in 'libucrt.lib(atox.obj)' is imported by 'hbvm.lib(cmdarg.obj)' in function '_hb_cmdargNum'
LINK : warning LNK4286: symbol '_atoi' defined in 'libucrt.lib(atox.obj)' is imported by 'hbrdd.lib(wafunc.obj)'
LINK : warning LNK4286: symbol '_atoi' defined in 'libucrt.lib(atox.obj)' is imported by 'hbpp.lib(ppcore.obj)'
LINK : warning LNK4217: symbol '_ceil' defined in 'libucrt.lib(ceil_pentium4.obj)' is imported by 'rddntx.lib(dbfntx1.obj)' in function '_hb_ntxSortNew'
LINK : warning LNK4217: symbol '_ceil' defined in 'libucrt.lib(ceil_pentium4.obj)' is imported by 'rddcdx.lib(dbfcdx1.obj)' in function '_hb_cdxOrderCreate'
LINK : warning LNK4286: symbol '_ceil' defined in 'libucrt.lib(ceil_pentium4.obj)' is imported by 'hbct.lib(ctmath2.obj)'
LINK : warning LNK4217: symbol '_fflush' defined in 'libucrt.lib(fflush.obj)' is imported by 'rddcdx.lib(dbfcdx1.obj)' in function '_hb_cdxPageGetKeyVal'
LINK : warning LNK4286: symbol '_fflush' defined in 'libucrt.lib(fflush.obj)' is imported by 'hbcplr.lib(hbcomp.obj)'
LINK : warning LNK4286: symbol '_fflush' defined in 'libucrt.lib(fflush.obj)' is imported by 'hbpp.lib(ppcore.obj)'
LINK : warning LNK4217: symbol '__wfsopen' defined in 'libucrt.lib(fopen.obj)' is imported by 'hbcommon.lib(hbfopen.obj)' in function '_hb_fopen'
LINK : warning LNK4217: symbol '_qsort' defined in 'libucrt.lib(qsort.obj)' is imported by 'hbcplr.lib(hbmain.obj)' in function '_hb_compOptimizeJumps'
LINK : warning LNK4217: symbol '_fputc' defined in 'libucrt.lib(fputc.obj)' is imported by 'hbcplr.lib(genc.obj)' in function '_hb_compGenCFunc'
LINK : warning LNK4217: symbol '_fputc' defined in 'libucrt.lib(fputc.obj)' is imported by 'hbcplr.lib(gencc.obj)' in function '_hb_p_plus'
LINK : warning LNK4217: symbol '_fputc' defined in 'libucrt.lib(fputc.obj)' is imported by 'hbpp.lib(ppcore.obj)' in function '_hb_membufFree'
LINK : warning LNK4217: symbol '_fwrite' defined in 'libucrt.lib(fwrite.obj)' is imported by 'hbcplr.lib(genhrb.obj)' in function '_hb_compGenPortObj'
LINK : warning LNK4286: symbol '_fwrite' defined in 'libucrt.lib(fwrite.obj)' is imported by 'hbpp.lib(ppcore.obj)'
LINK : warning LNK4286: symbol '_fwrite' defined in 'libucrt.lib(fwrite.obj)' is imported by 'minizip.lib(ioapi.obj)'
LINK : warning LNK4217: symbol '_free' defined in 'libucrt.lib(free.obj)' is imported by 'hbpcre.lib(pcreglob.obj)' in function '_LocalPcreFree'
LINK : warning LNK4286: symbol '_free' defined in 'libucrt.lib(free.obj)' is imported by 'hbzlib.lib(zutil.obj)'
LINK : warning LNK4217: symbol '_malloc' defined in 'libucrt.lib(malloc.obj)' is imported by 'hbpcre.lib(pcreglob.obj)' in function '_LocalPcreMalloc'
LINK : warning LNK4286: symbol '_malloc' defined in 'libucrt.lib(malloc.obj)' is imported by 'hbzlib.lib(zutil.obj)'
LINK : warning LNK4217: symbol '_fread' defined in 'libucrt.lib(fread.obj)' is imported by 'hbpp.lib(ppcore.obj)' in function '_hb_pp_pragmaStreamFile'
LINK : warning LNK4286: symbol '_fread' defined in 'libucrt.lib(fread.obj)' is imported by 'minizip.lib(ioapi.obj)'
LINK : warning LNK4217: symbol '_fseek' defined in 'libucrt.lib(fseek.obj)' is imported by 'hbpp.lib(ppcore.obj)' in function '_hb_pp_pragmaStreamFile'
LINK : warning LNK4286: symbol '_fseek' defined in 'libucrt.lib(fseek.obj)' is imported by 'minizip.lib(ioapi.obj)'
LINK : warning LNK4217: symbol '_ftell' defined in 'libucrt.lib(ftell.obj)' is imported by 'hbpp.lib(ppcore.obj)' in function '_hb_pp_pragmaStreamFile'
LINK : warning LNK4286: symbol '_ftell' defined in 'libucrt.lib(ftell.obj)' is imported by 'minizip.lib(ioapi.obj)'
LINK : warning LNK4217: symbol '_fopen' defined in 'libucrt.lib(fopen.obj)' is imported by 'minizip.lib(ioapi.obj)' in function '_fopen64_file_func'
LINK : warning LNK4217: symbol '__fseeki64' defined in 'libucrt.lib(fseek.obj)' is imported by 'minizip.lib(ioapi.obj)' in function '_fseek64_file_func'
LINK : warning LNK4217: symbol '__ftelli64' defined in 'libucrt.lib(ftell.obj)' is imported by 'minizip.lib(ioapi.obj)' in function '_ftell64_file_func'
hbrtl.lib(fstemp.obj) : error LNK2019: unresolved external symbol __imp__modf referenced in function _hb_fsCreateTempEx
hbvm.lib(hvmall.obj) : error LNK2001: unresolved external symbol __imp__modf
hbcommon.lib(hbstr.obj) : error LNK2001: unresolved external symbol __imp__modf
hbcommon.lib(hbprintf.obj) : error LNK2001: unresolved external symbol __imp__modf
hbrtl.lib(arc4.obj) : error LNK2019: unresolved external symbol __imp__srand referenced in function _arc4_seed_rand
minizip.lib(zip.obj) : error LNK2001: unresolved external symbol __imp__srand
hbrtl.lib(arc4.obj) : error LNK2019: unresolved external symbol __imp__rand referenced in function _arc4_seed_rand
minizip.lib(zip.obj) : error LNK2001: unresolved external symbol __imp__rand
hbvm.lib(hvmall.obj) : error LNK2019: unresolved external symbol __imp___dclass referenced in function _hb_itemStrBuf
hbcommon.lib(hbprintf.obj) : error LNK2001: unresolved external symbol __imp___dclass
hbcommon.lib(hbprintf.obj) : error LNK2019: unresolved external symbol __imp___dsign referenced in function _hb_vsnprintf
hbct.lib(ctmath2.obj) : error LNK2019: unresolved external symbol __imp__floor referenced in function _HB_FUN_FLOOR
hbcplr.lib(hbmain.obj) : error LNK2019: unresolved external symbol __imp__fgetc referenced in function _hb_compReadClpFile
hbpp.lib(ppcore.obj) : error LNK2001: unresolved external symbol __imp__fgetc
hbpcre.lib(pcrecomp.obj) : error LNK2019: unresolved external symbol __imp__isdigit referenced in function _pcre_compile2
hbpp.lib(ppcore.obj) : error LNK2019: unresolved external symbol __imp__fputs referenced in function _hb_pp_dumpEnd
minizip.lib(zip.obj) : error LNK2019: unresolved external symbol __imp___time64 referenced in function _crypthead
minizip.lib(ioapi.obj) : error LNK2019: unresolved external symbol __imp__ferror referenced in function _ferror_file_func
MovieCenter.EXE - 19 error(es), 62 advertencia(s)
He reemplazado éstas LIBs de una versión de Junio2023 y compila perfecto.
Code (fw): Select all Collapse
hbcplr.lib
hbct.lib
hbmacro.lib
hbpcre.lib
hbpp.lib
hbrdd.lib
hbrtl.lib
hbvm.lib
hbzlib.lib
minizip.lib
rddcdx.lib
rddntx.lib
hbcommon.lib
xhb.lib
El conflicto es con la LIB libucrt.lib de msvc2022
Instalé la nueva version de msvc2022 Release 14.39.33519 y da el mismo error

Gracias por la ayuda
Saludos,



Adhemar C.
Posts: 44158
Joined: Thu Oct 06, 2005 05:47 PM
Re: Error en librerias de Harbour MSVC
Posted: Wed Apr 17, 2024 09:56 PM

Estimado Adhemar,

Tienes que enlazar la librería de MSVC ucrt.lib y añadir estos flags para el enlazador:

/NODEFAULTLIB:libucrt /NODEFAULTLIB:msvcrt

Ahora usamos la versión UCRT (en vez de la anterior MSVCRT) de MSVC que es más moderna y rápida

regards, saludos

Antonio Linares
www.fivetechsoft.com
Posts: 1710
Joined: Tue Oct 28, 2008 06:26 PM
Re: Error en librerias de Harbour MSVC
Posted: Thu Apr 18, 2024 10:30 AM

Muchas gracias Estimado Antonio

Funcionó perfecto

Saludos,



Adhemar C.
Posts: 866
Joined: Tue Oct 16, 2007 08:57 AM
Re: Error en librerias de Harbour MSVC
Posted: Thu Apr 18, 2024 10:58 AM
Antonio Linares wrote:Estimado Adhemar,

Tienes que enlazar la librería de MSVC ucrt.lib y añadir estos flags para el enlazador:

/NODEFAULTLIB:libucrt /NODEFAULTLIB:msvcrt

Ahora usamos la versión UCRT (en vez de la anterior MSVCRT) de MSVC que es más moderna y rápida
Dear Antonio,
You mean modify buildh32.bat file
echo ws2_32.lib >> msvc.tmp
echo shlwapi.lib >> msvc.tmp
echo strmiids.lib >> msvc.tmp

*NEW ADD
echo ucrt.lib >> msvc.tmp

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

//@link @msvc.tmp /nologo /subsystem:windows /NODEFAULTLIB:msvcrt

*MODIFY
@link @msvc.tmp /nologo /subsystem: windows /NODEFAULTLIB:libucrt
Best Regards,



Richard



Harbour 3.2.0dev (r2503251254) => Borland C++ v7.7 32bit

MySQL v8.0

Harbour 3.2.0dev (r2503251254) => Borland C++ v7.7 64bit
Posts: 44158
Joined: Thu Oct 06, 2005 05:47 PM
Re: Error en librerias de Harbour MSVC
Posted: Thu Apr 18, 2024 01:44 PM

Dear Richard,

yes, many thanks!

regards, saludos

Antonio Linares
www.fivetechsoft.com

Continue the discussion