moving to MSVC 32 bits

User avatar
Rimantas
Posts: 437
Joined: Fri Oct 07, 2005 12:56 pm
Location: Utena , Lithuania

Re: moving to MSVC 32 bits

Post 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 .. :)
Rimantas U.
User avatar
lucasdebeltran
Posts: 1303
Joined: Tue Jul 21, 2009 8:12 am
Contact:

Re: moving to MSVC 32 bits

Post by lucasdebeltran »

Antonio,

With FW 13.02 and MSVC 2010 I get those warnings at link.

Please, how can be avoided?.

Code: Select all

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.
Muchas gracias. Many thanks.

Un saludo, Best regards,

Harbour 3.2.0dev, Borland C++ 5.82 y FWH 13.06 [producción]

Implementando MSVC 2010, FWH64 y ADO.

Abandonando uso xHarbour y SQLRDD.
User avatar
Antonio Linares
Site Admin
Posts: 37481
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain
Contact:

Re: moving to MSVC 32 bits

Post 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.
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
lucasdebeltran
Posts: 1303
Joined: Tue Jul 21, 2009 8:12 am
Contact:

Re: moving to MSVC 32 bits

Post 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.
Muchas gracias. Many thanks.

Un saludo, Best regards,

Harbour 3.2.0dev, Borland C++ 5.82 y FWH 13.06 [producción]

Implementando MSVC 2010, FWH64 y ADO.

Abandonando uso xHarbour y SQLRDD.
User avatar
Antonio Linares
Site Admin
Posts: 37481
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain
Contact:

Re: moving to MSVC 32 bits

Post 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
regards, saludos

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

Re: moving to MSVC 32 bits

Post by Antonio Linares »

Lucas,

Removed function DiskChange() from FWH. We use now Harbour's DiskChange() :-)
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
lucasdebeltran
Posts: 1303
Joined: Tue Jul 21, 2009 8:12 am
Contact:

Re: moving to MSVC 32 bits

Post 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

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;).
Muchas gracias. Many thanks.

Un saludo, Best regards,

Harbour 3.2.0dev, Borland C++ 5.82 y FWH 13.06 [producción]

Implementando MSVC 2010, FWH64 y ADO.

Abandonando uso xHarbour y SQLRDD.
User avatar
Antonio Linares
Site Admin
Posts: 37481
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain
Contact:

Re: moving to MSVC 32 bits

Post by Antonio Linares »

Lucas,

static HB_FUNC( DELETEFILE )
regards, saludos

Antonio Linares
www.fivetechsoft.com
ADutheil
Posts: 352
Joined: Sun May 31, 2009 6:25 pm
Location: Salvador - Bahia - Brazil

Re: moving to MSVC 32 bits

Post 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)
Regards,

André Dutheil
FWH 13.04 HB 3.2 BCC 5.82 MinGW 4.5.2 MSVS 10
User avatar
Antonio Linares
Site Admin
Posts: 37481
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain
Contact:

Re: moving to MSVC 32 bits

Post 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 :-)
regards, saludos

Antonio Linares
www.fivetechsoft.com
ADutheil
Posts: 352
Joined: Sun May 31, 2009 6:25 pm
Location: Salvador - Bahia - Brazil

Re: moving to MSVC 32 bits

Post by ADutheil »

OK thanks.
Regards,

André Dutheil
FWH 13.04 HB 3.2 BCC 5.82 MinGW 4.5.2 MSVS 10
User avatar
lucasdebeltran
Posts: 1303
Joined: Tue Jul 21, 2009 8:12 am
Contact:

Re: moving to MSVC 32 bits

Post 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.
Muchas gracias. Many thanks.

Un saludo, Best regards,

Harbour 3.2.0dev, Borland C++ 5.82 y FWH 13.06 [producción]

Implementando MSVC 2010, FWH64 y ADO.

Abandonando uso xHarbour y SQLRDD.
User avatar
Antonio Linares
Site Admin
Posts: 37481
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain
Contact:

Re: moving to MSVC 32 bits

Post 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 :-)
regards, saludos

Antonio Linares
www.fivetechsoft.com
ADutheil
Posts: 352
Joined: Sun May 31, 2009 6:25 pm
Location: Salvador - Bahia - Brazil

Re: moving to MSVC 32 bits

Post 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
Regards,

André Dutheil
FWH 13.04 HB 3.2 BCC 5.82 MinGW 4.5.2 MSVS 10
User avatar
Antonio Linares
Site Admin
Posts: 37481
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain
Contact:

Re: moving to MSVC 32 bits

Post 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...
regards, saludos

Antonio Linares
www.fivetechsoft.com
Post Reply