troubleshooting Question

DirectX, Visual 6.0: unresolved external symbol _IID_IDirectInput8A

Avatar of w_briggs
w_briggs asked on
Microsoft Development
10 Comments1 Solution1159 ViewsLast Modified:
I'm getting the link error "unresolved external symbol _IID_IDirectInput8A" .

There's are two .cpp files.  Each starts like this:

#define WIN32_LEAN_AND_MEAN   // get rid of Windows things we don't need

#include <windows.h>          // included in all Windows apps
#include <winuser.h>          // Windows constants
#include <gl/gl.h>            // OpenGL include
#include <gl/glu.h>           // OpenGL utilty library

The InputSystem.h file starts thus:

#define DIRECTINPUT_VERSION       0x0800

#include <dinput.h>
#include <objbase.h>
#define INITGUID
#include <initguid.h>

I'm using Visual C++ 6.0.  The first include directory is the Direct X 9.0 SDK/Include; so it's not getting the old 6.0 dinput.h.  The DirectX 9.0 library doesn't come first, because if I move it to the head of the lists, I get this link error:  fatal error LNK1103: debugging information corrupt; recompile module

There is another thread on this, at https://www.experts-exchange.com/Programming/Programming_Platforms/Win_Prog/Q_20796313.html?query=_IID_IDirectInput8A&clearTAFilter=true .  There's a suggestion there of moving the DirectX library to the head of the list.  I'm not sure why that isn't working for me.

Thanks --
Will Briggs
Lynchburg College

Join the community to see this answer!
Join our exclusive community to see this answer & millions of others.
Unlock 1 Answer and 10 Comments.
Join the Community
Learn from the best

Network and collaborate with thousands of CTOs, CISOs, and IT Pros rooting for you and your success.

Andrew Hancock - VMware vExpert
See if this solution works for you by signing up for a 7 day free trial.
Unlock 1 Answer and 10 Comments.
Try for 7 days

”The time we save is the biggest benefit of E-E to our team. What could take multiple guys 2 hours or more each to find is accessed in around 15 minutes on Experts Exchange.

-Mike Kapnisakis, Warner Bros