By using this site, you agree to our updated Privacy Policy and our Terms of Use. Manage your Cookies Settings.
449,017 Members | 1,072 Online
Bytes IT Community
+ Ask a Question
Need help? Post your question and get tips & solutions from a community of 449,017 IT Pros & Developers. It's quick & easy.

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

P: n/a
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
Share this Question
Share on Google+
2 Replies


P: n/a
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

P: n/a
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.