Compiling under Visual Studio 2005 Beta 2

If you are a new Irrlicht Engine user, and have a newbie-question, this is the forum for you. You may also post general programming questions here.
Post Reply
ghs

Compiling under Visual Studio 2005 Beta 2

Post by ghs »

Hi. Sorry for bothering, but I found problem that I can't fix. I searched on the forum, but phpBB2 search system sucks a bit.

Standard Irrlicht DLL doesn't work, so I found on forum that I have to recompile. Unfortunately VS 2005 has a stronger C++ compliance and does not support default-int, so I'm having bunch of that:

d:\microsoft visual studio 8\vc\platformsdk\include\winnt.h(5932) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int

Is there any way to compile that? Or maybe apropriate library is already available?

Thanks in advance,
Grzegorz.
Spintz
Posts: 1688
Joined: Thu Nov 04, 2004 3:25 pm

Post by Spintz »

whats the line of code that is returning that error?
Image
Foole
Posts: 87
Joined: Mon Aug 29, 2005 10:08 am

Post by Foole »

It looks like it's failing in one of the Platform SDK headers (winnt.h). You might need to update your Platform SDK. Otherwise there might be a compiler option to change this from an error to a warning.
ghs

Post by ghs »

Well, I found where's the problem. In winnt.ini there was:

typedef void *POINTER_64 PVOID64;

I substituted it with:

typedef void *POINTER_64;
typedef void *PVOID64;

and now it compiles. With much "C4996: 'sprintf' was declared deprecated" warnings, but compiles :D

All I did previously was to remove DX9 support (in IrrCompileConfig). I've got XP SP2, and VS2005 B2...
mdc

Post by mdc »

I encountered this same problem, during an engine compile-

it appears to be because they ship a version of basetsd.h with the DX9.0 SDK include folder which isn't compatible with the SDK includes for 2005...

I fixed it by changing the line:

#include <basetsd.h>

to

#include "basetsd.h" in my winnt.h file...

that makes it include the correct version of basetsd.h and not the one bundled with Direct X 9.0. Hope that helps someone.
Guest

Post by Guest »

Install the latest version of the Platform SDK from Microsoft. (Google it).

Make sure your Visual Studio include directories (Tools/Options/Projects and Solutions/VC++ Directories) includes the include directory for the Platform SDK as the absolute first entry. (This is key -- the order is important!)

Should work fine then. Beats modifying the system include file contents!
cr_itm
Posts: 57
Joined: Sun May 01, 2005 10:13 am

Post by cr_itm »

Just a quick note from me, because I had the same problem.

If you are using the non beta of Visual Studio 2005, and got the compiler problem, you probably use an (too) old version of the DirectX SDK.

In the newer DX SDK releases, the file "basetsd.h" is not included anymore, so the newest one from the platform SDK will be used and the compile error is gone.
Post Reply