Page 3 of 3
Re: moving to MSVC 32 bits
Posted:
Wed Feb 27, 2013 8:02 am
by Rimantas
Antonio Linares wrote:Rimantas,
Microsoft delivers updates for Windows constantly, does that mean that Windows is buggy ? Not in my opinion, simply that a product can be enhanced and improved. The problem is not that there are bugs, the problem is that they may not get solved
We publish new builds every month since years, I think that shows a great commitment to deliver updates that enhance FWH constantly and a very fast response to solve bugs
Antonio, excuse for me if I unsightly joked ...
. It's all right , your efforts are very valuables and FiveWin very fine . I love it ..
Re: moving to MSVC 32 bits
Posted:
Sat Mar 02, 2013 6:05 pm
by lucasdebeltran
Antonio,
With FW 13.02 and MSVC 2010 I get those warnings at link.
Please, how can be avoided?.
- Code: Select all Expand view
fivehc32.lib(DRIVES.obj) : warning LNK4006: _HB_FUN_GETCURDIR ya se definió en amedida_fivewinmsvc.lib(varios.obj); segunda definición omitida
fiveh32.lib(HARBOUR.obj) : warning LNK4006: _HB_FUN_LOADLIB32 ya se definió en fivehc32.lib(CALDLL32.obj); segunda definición omitida
fiveh32.lib(HARBOUR.obj) : warning LNK4006: _HB_FUN_FREELIB32 ya se definió en fivehc32.lib(CALDLL32.obj); segunda definición omitida
fiveh32.lib(WININET.obj) : warning LNK4006: _HB_FUN_INTERNETOPEN ya se definió en ftp.obj; segunda definición omitida
fiveh32.lib(WININET.obj) : warning LNK4006: _HB_FUN_INTERNETCONNECT ya se definió en ftp.obj; segunda definición omitida
fiveh32.lib(WININET.obj) : warning LNK4006: _HB_FUN_INTERNETCLOSEHANDLE ya se definió en ftp.obj; segunda definición omitida
fiveh32.lib(WININET.obj) : warning LNK4006: _HB_FUN_FTPOPENFILE ya se definió en ftp.obj; segunda definición omitida
fiveh32.lib(WININET.obj) : warning LNK4006: _HB_FUN_INTERNETWRITEFILE ya se definió en ftp.obj; segunda definición omitida
fiveh32.lib(WININET.obj) : warning LNK4006: _HB_FUN_INTERNETREADFILE ya se definió en ftp.obj; segunda definición omitida
hbrtl.lib(dirdrive.obj) : warning LNK4006: _HB_FUN_DISKCHANGE ya se definió en fivehc32.lib(DISK.obj); segunda definición omitida
hbct.lib(disk.obj) : warning LNK4006: _HB_FUN_DRIVETYPE ya se definió en fivehc32.lib(C5CNEW.obj); segunda definición omitida
hbct.lib(files.obj) : warning LNK4006: _HB_FUN_DELETEFILE ya se definió en fivehc32.lib(C5CNEW.obj); segunda definición omitida
c5taskmsvc.lib(vmenu.obj) : warning LNK4006: _HB_FUN_DEGRADASO ya se definió en fivehc32.lib(C5CNEW.obj); segunda definición omitida
Creando biblioteca gestionmsvc.lib y objeto gestionmsvc.exp
gestionmsvc.exe : warning LNK4088: la imagen se está generando debido a la opción /FORCE; quizá la imagen no se pueda ejecutar
Also, please when you have time build new Harbour build for MSVC 2010. I tried myself but some libs, such as hbwin.lib, where not created. I don´t know why.
Thank you very much.
Re: moving to MSVC 32 bits
Posted:
Sun Mar 03, 2013 7:59 am
by Antonio Linares
Lucas,
On each warning, you get a description that explains what is going on:
fivehc32.lib(DRIVES.obj) : warning LNK4006: _HB_FUN_GETCURDIR ya se definió en amedida_fivewinmsvc.lib(varios.obj); segunda definición omitida
function GetCurDir() is duplicated in both drives.c and in varios.c (or OBJ). You can not have duplicates. Don't use the /FORCE clause, instead remove each duplicated function.
Re: moving to MSVC 32 bits
Posted:
Sun Mar 03, 2013 9:41 am
by lucasdebeltran
Antonio,
Thank you very much. Appart from that sample, the rest are in Fivewin´s libs.
For example:
fiveh32.lib(HARBOUR.obj) : warning LNK4006: _HB_FUN_LOADLIB32 ya se definió en fivehc32.lib(CALDLL32.obj); segunda definición omitida
fiveh32.lib(HARBOUR.obj) : warning LNK4006: _HB_FUN_FREELIB32 ya se definió en fivehc32.lib(CALDLL32.obj); segunda definición omitida
Please, could you fix it?.
Also, having a C function like HB_FUNC( INTERNETOPEN2 ), how can I declare such function as static?.
Thank you very much.
Re: moving to MSVC 32 bits
Posted:
Sun Mar 03, 2013 11:22 am
by Antonio Linares
Lucas,
These functions are duplicated in ftp.prg or ftp.c. There is no ftp.* in FWH neither in Harbour, unless I miss something:
fiveh32.lib(WININET.obj) : warning LNK4006: _HB_FUN_INTERNETOPEN ya se definió en ftp.obj; segunda definición omitida
fiveh32.lib(WININET.obj) : warning LNK4006: _HB_FUN_INTERNETCONNECT ya se definió en ftp.obj; segunda definición omitida
fiveh32.lib(WININET.obj) : warning LNK4006: _HB_FUN_INTERNETCLOSEHANDLE ya se definió en ftp.obj; segunda definición omitida
fiveh32.lib(WININET.obj) : warning LNK4006: _HB_FUN_FTPOPENFILE ya se definió en ftp.obj; segunda definición omitida
fiveh32.lib(WININET.obj) : warning LNK4006: _HB_FUN_INTERNETWRITEFILE ya se definió en ftp.obj; segunda definición omitida
fiveh32.lib(WININET.obj) : warning LNK4006: _HB_FUN_INTERNETREADFILE ya se definió en ftp.obj; segunda definición omitida
Re: moving to MSVC 32 bits
Posted:
Sun Mar 03, 2013 11:28 am
by Antonio Linares
Lucas,
Removed function DiskChange() from FWH. We use now Harbour's DiskChange()
Re: moving to MSVC 32 bits
Posted:
Sun Mar 03, 2013 12:49 pm
by lucasdebeltran
Antonio,
Thank you.
FTP.c is a patch for previous FWH, but now it is not needed.
There are still pending:
- Code: Select all Expand view
fiveh32.lib(HARBOUR.obj) : warning LNK4006: _HB_FUN_LOADLIB32 ya se definió en fivehc32.lib(CALDLL32.obj); segunda definición omitida
fiveh32.lib(HARBOUR.obj) : warning LNK4006: _HB_FUN_FREELIB32 ya se definió en fivehc32.lib(CALDLL32.obj); segunda definición omitida
hbrtl.lib(dirdrive.obj) : warning LNK4006: _HB_FUN_DISKCHANGE ya se definió en fivehc32.lib(DISK.obj); segunda definición omitida
hbct.lib(disk.obj) : warning LNK4006: _HB_FUN_DRIVETYPE ya se definió en fivehc32.lib(C5CNEW.obj); segunda definición omitida
hbct.lib(files.obj) : warning LNK4006: _HB_FUN_DELETEFILE ya se definió en fivehc32.lib(C5CNEW.obj); segunda definición omitida
Antonio, how can I declare a static C function, for, for example, HB_FUNC( DELETEFILE )?.
Also, for your information RESALLFREE() function is not available for MSVC?.
Thank you very much for your attention and quick reply as always;).
Re: moving to MSVC 32 bits
Posted:
Sun Mar 03, 2013 3:07 pm
by Antonio Linares
Lucas,
static HB_FUNC( DELETEFILE )
Re: moving to MSVC 32 bits
Posted:
Sun Mar 03, 2013 6:19 pm
by ADutheil
Antonio,
When I remove /FORCE I can´t link due to error:
FIVEHC32.lib(C5CNEW.obj) : error LNK2005: _HB_FUN_DRIVETYPE already defined in HBCT.lib(disk.obj)
Re: moving to MSVC 32 bits
Posted:
Sun Mar 03, 2013 8:13 pm
by Antonio Linares
André,
You can keep using /FORCE by now. but in next FWH build, we will remove function DriveType() from FWH and use the one from Harbour's hbct.lib
Re: moving to MSVC 32 bits
Posted:
Mon Mar 04, 2013 12:12 am
by ADutheil
OK thanks.
Re: moving to MSVC 32 bits
Posted:
Mon Mar 04, 2013 2:26 pm
by lucasdebeltran
Antonio,
Just for revision. Those are duplicate warnings:
fiveh32.lib(HARBOUR.obj) : warning LNK4006: _HB_FUN_LOADLIB32 ya se definió en fivehc32.lib(CALDLL32.obj); segunda definición omitida
fiveh32.lib(HARBOUR.obj) : warning LNK4006: _HB_FUN_FREELIB32 ya se definió en fivehc32.lib(CALDLL32.obj); segunda definición omitida
hbrtl.lib(dirdrive.obj) : warning LNK4006: _HB_FUN_DISKCHANGE ya se definió en fivehc32.lib(DISK.obj); segunda definición omitida
hbct.lib(disk.obj) : warning LNK4006: _HB_FUN_DRIVETYPE ya se definió en fivehc32.lib(C5CNEW.obj); segunda definición omitida
hbct.lib(files.obj) : warning LNK4006: _HB_FUN_DELETEFILE ya se definió en fivehc32.lib(C5CNEW.obj); segunda definición omitida
Thank you for your assistance with MSVC 2010. It seems to be working very good. Also, I think there is an increase on speed. Do you think is it possible?.
Also, why ResAllFree() function is not available under MSVC libs?.
Thank you very much.
Re: moving to MSVC 32 bits
Posted:
Mon Mar 04, 2013 5:25 pm
by Antonio Linares
Lucas,
I think there is an increase on speed. Do you think is it possible?
No
C compilers are just translators to highly optimized assembler code, and the resulting assembler is quite similar for all of them. And nothing can't run faster than assembler
Re: moving to MSVC 32 bits
Posted:
Tue Mar 19, 2013 4:11 pm
by ADutheil
Antonio,
I got another one to remove from FWH:
FIVEHC32.lib(STRTOKEN.obj) : warning LNK4006: _HB_FUN_STRTOKEN already defined in HBMISC.lib(stringsx.obj); second definition ignored
Re: moving to MSVC 32 bits
Posted:
Tue Mar 19, 2013 5:40 pm
by Antonio Linares
André,
We should not remove that one, as StrToken() is a long time used function in FWH, unless they behave exactly the same...