Compile Error
Compile Error
Hi,
i will use VC8 and winxp.
when i compile irrlicht i become a error
c:\programme\microsoft visual studio 8\vc\platformsdk\include\winnt.h (222) : error C2146: syntax error : missing ';' before identifier 'PVOID64'
i can not compile irrlicht with vc8.
with vc6 i have no problem. (but no directx9)
can someone help me ?
sorry for my bad english
i will use VC8 and winxp.
when i compile irrlicht i become a error
c:\programme\microsoft visual studio 8\vc\platformsdk\include\winnt.h (222) : error C2146: syntax error : missing ';' before identifier 'PVOID64'
i can not compile irrlicht with vc8.
with vc6 i have no problem. (but no directx9)
can someone help me ?
sorry for my bad english
-
- Posts: 9
- Joined: Tue Dec 26, 2006 12:16 am
Re: Compile Error
Replace by
typedef void *PVOID;
typedef void * POINTER_64 PVOID64;
best regards
Yodathegreat
typedef void *PVOID;
typedef void * POINTER_64 PVOID64;
best regards
Yodathegreat
det wrote:Hi,
i will use VC8 and winxp.
when i compile irrlicht i become a error
c:\programme\microsoft visual studio 8\vc\platformsdk\include\winnt.h (222) : error C2146: syntax error : missing ';' before identifier 'PVOID64'
i can not compile irrlicht with vc8.
with vc6 i have no problem. (but no directx9)
can someone help me ?
sorry for my bad english
Re: Compile Error
That isn't very helpful, as the file already contains those definitions. I have had the same problem when compiling Irrlicht 'out-of -the-box'. It is caused by defining your include and library paths. If you put the directx sdk paths before the normal VC paths, it will be missing definitions, and a c2146 error on pvoid64 will occur. To fix it, just put the dx8 include path as the last entry in your compiler options.yodathegreat wrote:Replace by
typedef void *PVOID;
typedef void * POINTER_64 PVOID64;
Recompiling Irrlicht and winnt.h problems
Hi,
I tried re-ordering my Includes as Robert Y. suggested, but this didn't fix the problem. I noticed though that the winnt.h reference to POINTER_64 is defined (in the same directory of the SDK) as __ptr64 in the file BaseTsd.h. Therefore, in the file winnt.h if you change this:
...to this:
It should compile just fine.
I tried re-ordering my Includes as Robert Y. suggested, but this didn't fix the problem. I noticed though that the winnt.h reference to POINTER_64 is defined (in the same directory of the SDK) as __ptr64 in the file BaseTsd.h. Therefore, in the file winnt.h if you change this:
Code: Select all
typedef void * POINTER_64 PVOID64;
Code: Select all
typedef void * __ptr64 PVOID64;
No. There are couple of directives like #define, #ifdef, #ifndef, endif and other. So developers should use it and make compilable sources in any environment.hybrid wrote: Except for bugs found in them. And MSVC has been notoriously buggy in this respect.
That is why vitek is right:
vitek wrote: You should _never_ need to modify a system header.
I did also just stumble upon that problem and Robert Y. is right.
At least with VS Express the platform SDK has to be included before DX8.
If it doesn't work it's worth checking both include path dialogs - one is in project settings, but paths can also be set in tools - options. It seems the include path set in the project settings will be searched first.
At least with VS Express the platform SDK has to be included before DX8.
If it doesn't work it's worth checking both include path dialogs - one is in project settings, but paths can also be set in tools - options. It seems the include path set in the project settings will be searched first.
IRC: #irrlicht on irc.libera.chat
Code snippet repository: https://github.com/mzeilfelder/irr-playground-micha
Free racer made with Irrlicht: http://www.irrgheist.com/hcraftsource.htm
Code snippet repository: https://github.com/mzeilfelder/irr-playground-micha
Free racer made with Irrlicht: http://www.irrgheist.com/hcraftsource.htm