Sign in to follow this  
POLSKASH

DInput8 Strange Error

Recommended Posts

This statement: keyboard->SetDataFormat(&c_dfDIKeyboard); generates this error: Linking... dinput8.lib(dilib2.obj) : fatal error LNK1103: debugging information corrupt; recompile module Error executing link.exe. Why oh why do I get these weird errors? It seems like this stuff is just working against me.

Share this post


Link to post
Share on other sites
My psychic powers of debugging tell me... not a lot actually, except maybe to ask what version of Visual Studio are you using and what version of the DirectX SDK have you got?

-Mezz

Share this post


Link to post
Share on other sites
Thought so. VC++ 6 isn't supported anymore with the recent SDK releases. I think official support ended with Summer 2004 or thereabouts. There are occasionally components that still work (somebody managed to make D3D work still I think) but nothing is guarenteed and it's probably hit n miss - you either have to get an earlier DX SDK before the support was dropped, or upgrade to a newer version of Visual Studio. Perhaps the VC.NET 2003 Toolkit would let you use it, as it contians replacement compiler & linkers which should still work, not entirely sure though.

-Mezz

Share this post


Link to post
Share on other sites
I don't know to be honest. I think reverting the whole SDK is simpler and safer than just trying to backtrack DirectInput on it's own. If you mean 'revert' as in try and use an earlier version by #defining DIRECTINPUT_VERSION or whatever the macro is called, then I'm not sure, but you can always give that a shot, and link against dinput.lib instead of dinput8.lib.

EDIT: you don't need the entire Visual Studio - just Visual C++ .NET that's only like $80 if you shop around, also I wasn't actually talking about the retail, I was talking about the free toolkit you can download for it which you can get here

-Mezz

Share this post


Link to post
Share on other sites
I think doing the following fixes it:

- Go to msdn and download MSVC Toolkit 2003 (30MB or so)
- Install it
- Open VC6
- Go into Tools -> Options -> Directories
- Add in the include/lib/bin directories ABOVE the old VC6 ones (but below the dx9, of course).

That should do it (someone lemme know if i forgot something... i got Dinput 8 to work after that though).

Share this post


Link to post
Share on other sites
Crap, I think I deleted an include accidently. For includes under the Platform Win32, I have VC98\ATL\INCLUDE and VC98\MFC\INCLUDE plus the new include from the toolkit and the directx one of course. Am I missing one?

It doesn't know what windows.h is haha.

EDIT:
N/m. Got it.

Share this post


Link to post
Share on other sites
Quote:
Original post by POLSKASH
I do however get this warning, and I'd like to know if there is a way to get rid of it.

LINK : warning LNK4224: /PDBTYPE is no longer supported; ignored


I *THINK* PDBTYPE is just some flag specifying the type of format the debug data is to be in (or something like that). I get that too, and haven't been able to find the /PDBTYPE flag in my linker settings, either cause it's not there, or cause I'm horribly blind :). If someone can clue me in on that, I'd like to know too.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this