Page 1 of 4

hb_base64 link

PostPosted: Sun Aug 07, 2022 12:43 am
by NWKL
Hi, im convert an old prg /mak to new fwh2206 and xharbour/bcc 32, and receive the error:
Unresolved external : hb-fun_hb_base64decode from fivehx.lib, i have missing some lib in link file?
is this a xharbour lib?

very thanks

Re: hb_base64 link

PostPosted: Sun Aug 07, 2022 12:48 am
by nageswaragunupudi
Please read buildx.bat in the samples folder and make sure to include all the libs contained therein, in your link script.

Re: hb_base64 link

PostPosted: Sun Aug 07, 2022 10:23 pm
by NWKL
Hi Nages, thanks.
i checked, all libs of buildx are in my mak, could you tell me which lib specifies this function uses? could it be a xharbour version error? compiling prg with fwh 20.02 works perfectly.

thanks again

Re: hb_base64 link

PostPosted: Sun Aug 07, 2022 11:33 pm
by Antonio Linares
tip.lib for xHarbour

Re: hb_base64 link

PostPosted: Fri Sep 02, 2022 2:41 pm
by NWKL
thanks, now work fine.

I tried several times migrate to VS2022, read posts on the forum but I use a portable ssd, I need something like:

VS2022/x32/bin/include/lib
VS2022/x64/bin/include/lib

I saw that vs2022 despite changing the directories, vs2022 community installs in programfiles, lots of directory and files , languages i don't use.
there is no process like this? only the files necessary to fwh\harbour ?

regards

Re: hb_base64 link

PostPosted: Fri Sep 02, 2022 3:20 pm
by Antonio Linares
I have been assiting recently to Enrico to get a reduced version of Visual Studio Community 2022

Going to ask him if he minds to share it... :-)

Re: hb_base64 link

PostPosted: Fri Sep 02, 2022 11:00 pm
by NWKL
thanks.
i try to make this, but have lots of directory, languages, extras...
best regards

Re: hb_base64 link

PostPosted: Fri Sep 02, 2022 11:55 pm
by carlos vargas
Yo lo tengo, dejenme ver donde lo pongo para que lo bajen.

Re: hb_base64 link

PostPosted: Sat Sep 03, 2022 3:44 pm
by NWKL
carlos vargas wrote:Yo lo tengo, dejenme ver donde lo pongo para que lo bajen.


Carlos, very thanks :)

Re: hb_base64 link

PostPosted: Sun Sep 04, 2022 2:27 am
by carlos vargas

Re: hb_base64 link

PostPosted: Sun Sep 04, 2022 2:30 am
by carlos vargas
es vc2022 32 y 64 bits, ver los archivos vc2022\myvar32.bat y vc2022\myvar64.bat, adecuar los path segun el lugar donde lo descompriman.

Re: hb_base64 link

PostPosted: Sun Sep 04, 2022 10:35 am
by Enrico Maria Giordano
Thank you, I'll experiment with it.

Re: hb_base64 link

PostPosted: Sun Sep 04, 2022 4:44 pm
by carlos vargas
@ECHO OFF
CLS
ECHO ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
ECHO ³ FiveWin for Harbour 22.06 (VS32bits) Jun. 2022 Harbour development power ³Ü
ECHO ³ (c) FiveTech 1993-2021 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

if "%FWDIR%" == "" set FWDIR=d:\fwh
if "%HBDIR%" == "" set HBDIR=d:\compiler\harbour

set GT=gtgui

set HDIRLIB=%HBDIR%\lib\win\msvc
set VCDIR=d:\compiler\vc2022
set VCDIRBIN=%VCDIR%\bin32
set VCDIRLIB=%VCDIR%\lib\win32

ECHO Compiling...

%HBDIR%\bin\32\harbour %1 /n /w /p /i%FWDIR%\include;%HBDIR%\include /d__FLAT__ %2 %3 > comp.log 2> warnings.log
IF ERRORLEVEL 1 GOTO COMPILEERROR
@type comp.log
@type warnings.log

%VCDIRBIN%\cl.exe -nologo -TC -W3 -c /GS- /I%VCDIR%\include /I%HBDIR%\include /GA %1.c
IF ERRORLEVEL 1 GOTO COMPILEERROR

IF EXIST %1.rc %VCDIRBIN%\rc -nologo -r -d__FLAT__ -I%VCDIR%\include %1
IF ERRORLEVEL 1 GOTO RESOURCESERROR

echo %1.obj > msvc.tmp

echo %FWDIR%\lib\fiveh32.lib >> msvc.tmp
echo %FWDIR%\lib\fivehc32.lib >> msvc.tmp
echo %FWDIR%\lib\hbhpdf32.lib >> msvc.tmp
echo %FWDIR%\lib\libhpdf32.lib >> msvc.tmp
echo %HDIRLIB%\hbrtl.lib >> msvc.tmp
echo %HDIRLIB%\hbvm.lib >> msvc.tmp
echo %HDIRLIB%\%GT%.lib >> msvc.tmp
echo %HDIRLIB%\hblang.lib >> msvc.tmp
echo %HDIRLIB%\hbmacro.lib >> msvc.tmp
echo %HDIRLIB%\hbrdd.lib >> msvc.tmp
echo %HDIRLIB%\rddntx.lib >> msvc.tmp
echo %HDIRLIB%\rddcdx.lib >> msvc.tmp
echo %HDIRLIB%\rddfpt.lib >> msvc.tmp
echo %HDIRLIB%\hbsix.lib >> msvc.tmp
echo %HDIRLIB%\hbdebug.lib >> msvc.tmp
echo %HDIRLIB%\hbcommon.lib >> msvc.tmp
echo %HDIRLIB%\hbpp.lib >> msvc.tmp
echo %HDIRLIB%\hbcpage.lib >> msvc.tmp
echo %HDIRLIB%\hbwin.lib >> msvc.tmp
echo %HDIRLIB%\hbcplr.lib >> msvc.tmp
echo %HDIRLIB%\hbpcre.lib >> msvc.tmp
echo %HDIRLIB%\hbct.lib >> msvc.tmp
echo %HDIRLIB%\xhb.lib >> msvc.tmp
echo %HDIRLIB%\png.lib >> msvc.tmp
echo %HDIRLIB%\hbzlib.lib >> msvc.tmp
echo %HDIRLIB%\hbziparc.lib >> msvc.tmp
echo %HDIRLIB%\hbmzip.lib >> msvc.tmp
echo %HDIRLIB%\minizip.lib >> msvc.tmp
echo %HDIRLIB%\hbtip.lib >> msvc.tmp
echo %HDIRLIB%\hbzebra.lib >> msvc.tmp
echo %HDIRLIB%\hbusrrdd.lib >> msvc.tmp

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

echo %FWDIR%\lib\libmysql32.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 runtimeobject.lib >> msvc.tmp
echo ws2_32.lib >> msvc.tmp
echo shlwapi.lib >> msvc.tmp
echo strmiids.lib >> msvc.tmp

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

%VCDIRBIN%\link @msvc.tmp -nologo /SUBSYSTEM:windows /FORCE:multiple /NODEFAULTLIB:msvcrt /LIBPATH:%VCDIRLIB%
IF ERRORLEVEL 1 GOTO LINKERROR

rem borrando archivos temporales y ejecutando aplicacion
ECHO * Delete temporal files *
@del %1.c
@del %1.obj
@del %1.ppo
@del warnings.log
@del comp.log
@del msvc.tmp
ECHO * Application successfully built *
%1
GOTO EXIT
ECHO

:COMPILEERROR
@type comp.log
@type warnings.log
ECHO * Compiling errors *
GOTO EXIT

:RESOURCESERROR
ECHO * Resources errors *
GOTO EXIT

:LINKERROR
ECHO * Linking errors *
GOTO EXIT

:SINTAX
ECHO SYNTAX: BuildH32 [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

Re: hb_base64 link

PostPosted: Wed Sep 07, 2022 2:35 pm
by Enrico Maria Giordano
With Harbour no problem. With xHarbour I get the following error. Any ideas?

Code: Select all  Expand view
rdd.lib(dbcmdx.obj) : error LNK2005: _HB_FUN_DBPACK already defined in fivehmx.lib(ERTOOLS.obj)
rtl.lib(dllcall.obj) : error LNK2005: _HB_FUN_LOADLIBRARY already defined in fivehcm.lib(DLL.obj)
rtl.lib(dllcall.obj) : error LNK2005: _HB_FUN_FREELIBRARY already defined in fivehcm.lib(DLL.obj)
ct.lib(disk.obj) : error LNK2005: _HB_FUN_GETVOLINFO already defined in fivehmx.lib(OLDFUNC.obj)
LINK : fatal error LNK1104: cannot open file 'LIBC.lib'

Re: hb_base64 link

PostPosted: Wed Sep 07, 2022 4:12 pm
by Antonio Linares
Enrico Maria Giordano wrote:With Harbour no problem. With xHarbour I get the following error. Any ideas?

Code: Select all  Expand view
rdd.lib(dbcmdx.obj) : error LNK2005: _HB_FUN_DBPACK already defined in fivehmx.lib(ERTOOLS.obj)
rtl.lib(dllcall.obj) : error LNK2005: _HB_FUN_LOADLIBRARY already defined in fivehcm.lib(DLL.obj)
rtl.lib(dllcall.obj) : error LNK2005: _HB_FUN_FREELIBRARY already defined in fivehcm.lib(DLL.obj)
ct.lib(disk.obj) : error LNK2005: _HB_FUN_GETVOLINFO already defined in fivehmx.lib(OLDFUNC.obj)
LINK : fatal error LNK1104: cannot open file 'LIBC.lib'


Dear Enrico,

We should rename DbPack(), LoadLibrary(), FreeLibrary() and GetVolInfo() in FWH. The problem is that LoadLibrary() and FreeLibrary() are used in many FWH places... not sure how much code we may break

Regarding LIBC.lib I have no idea why is being requested to be linked. If you review all FWH\samples\build*.bat files you will see that we don't use it at all