DInput8 Strange Error

Started by
12 comments, last by POLSKASH 18 years, 11 months ago
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.
There are some things so stupid that only an intellect could believe them.
Advertisement
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
April release of the SDK. VC++ 6.
There are some things so stupid that only an intellect could believe them.
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
GAH, is that what the problem is? They're already cutting off support for VC++ 6?! DAMNIT.
There are some things so stupid that only an intellect could believe them.
Do I have to revert back to an earlier SDK, or can I revert back to an earlier DirectInput?
There are some things so stupid that only an intellect could believe them.
What the heck, I don't have $750 for Visual Studio.NET 2003.
There are some things so stupid that only an intellect could believe them.
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
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).
Thanks guys, but looks like I will have to just get the VC++.NET soon anyways.
There are some things so stupid that only an intellect could believe them.

This topic is closed to new replies.

Advertisement