472,119 Members | 1,524 Online
Bytes | Software Development & Data Engineering Community
Post +

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 472,119 software developers and data experts.

Suggestion about Bug Fixing of "error C2371: 'WCHAR' : redefinition; different basic types"

Hi,

i am developing an application which uses WAB API's, for doing all
this i am using vs2k5. I have wab.h header file included in my project
to use WAB api's but after compilation one error comes like

Error 1 error C2371: 'WCHAR' : redefinition; different basic types c:
\program files\microsoft visual studio 8\vc\platformsdk\include
\wabdefs.h 78

The error occurs on the following statement, because of redefinition
of 'WCHAR'

#if !defined(UNIX) && !defined(WIN16)
typedef WORD WCHAR;
#endif

but i know the solution of this problem. it solves by changing project
setting of "Treat wchar_t as Built-in Type" value "No (/Zc:wchar_t-)".
But I am using "Xtreme Toolkit Professional Edition" for making good
look & Feel of an application, when i fix the above problem by
changing project settings a new linking errors come from Xtreme
Toolkit Library. So what i do to fix this problem, in project setting
"Treat wchar_t as Built-in Type" value "yes" and i wrote following
statements where i included wab.h header file.

#define WIN16
#include "wab.h"
#undef WIN16

and after that my project is working fine and all the things related
to WAB is also working fine. any one guide me, is that the right way
to solve this problem??? and, will this have any effect on the rest of
project??

Regards,

-aims

Feb 14 '07 #1
2 9739
but i know the solution of this problem. it solves by changing project
setting of "Treat wchar_t as Built-in Type" value "No (/Zc:wchar_t-)".
But I am using "Xtreme Toolkit Professional Edition" for making good
look & Feel of an application, when i fix the above problem by
changing project settings a new linking errors come from Xtreme
Toolkit Library. So what i do to fix this problem, in project setting
"Treat wchar_t as Built-in Type" value "yes" and i wrote following
statements where i included wab.h header file.
You can change that setting on a per-codefile basis so that only specific
files are compiled with that particular setting.
If you can solve your problems that way it would be the cleanest solution.
>
#define WIN16
#include "wab.h"
#undef WIN16

and after that my project is working fine and all the things related
to WAB is also working fine. any one guide me, is that the right way
to solve this problem??? and, will this have any effect on the rest of
project??
I wouldn't worry about it. whatever the definition, it is a 16 bit variable
in both cases.
I agree that it isn't the best looking solution, but it should work IF WIN16
has no other impact inside the wab.h file.
--

Kind regards,
Bruno van Dooren
br**********************@hotmail.com
Remove only "_nos_pam"
Feb 14 '07 #2
Thanks Bruno!

regards,

-aims

On Feb 14, 5:27 pm, "Bruno van Dooren [MVP VC++]"
<bruno_nos_pam_van_doo...@hotmail.comwrote:
but i know the solution of this problem. it solves by changing project
setting of "Treat wchar_t as Built-in Type" value "No (/Zc:wchar_t-)".
But I am using "Xtreme Toolkit Professional Edition" for making good
look & Feel of an application, when i fix the above problem by
changing project settings a new linking errors come from Xtreme
Toolkit Library. So what i do to fix this problem, in project setting
"Treat wchar_t as Built-in Type" value "yes" and i wrote following
statements where i included wab.h header file.

You can change that setting on a per-codefile basis so that only specific
files are compiled with that particular setting.
If you can solve your problems that way it would be the cleanest solution.
#define WIN16
#include "wab.h"
#undef WIN16
and after that my project is working fine and all the things related
to WAB is also working fine. any one guide me, is that the right way
to solve this problem??? and, will this have any effect on the rest of
project??

I wouldn't worry about it. whatever the definition, it is a 16 bit variable
in both cases.
I agree that it isn't the best looking solution, but it should work IF WIN16
has no other impact inside the wab.h file.

--

Kind regards,
Bruno van Dooren
bruno_nos_pam_van_doo...@hotmail.com
Remove only "_nos_pam"

Feb 16 '07 #3

This discussion thread is closed

Replies have been disabled for this discussion.

Similar topics

7 posts views Thread by Petr Prikryl | last post: by
11 posts views Thread by kimiraikkonen | last post: by
1 post views Thread by =?ISO-8859-1?Q?Lasse_V=E5gs=E6ther_Karlsen?= | last post: by
reply views Thread by leo001 | last post: by

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.