ページ 11

コンパイルエラー

Posted: 2008年12月16日(火) 22:16
by dic
#define	DIRECTINPUT_VERSION	0x0800
#include <dinput.h>
	HRESULT	hr;
	hr = DirectInput8Create( GetModuleHandle(NULL), DIRECTINPUT_VERSION,
		IID_IDirectInput8, (VOID**)&g_pDI, NULL );
上記のソースを既存のスケルトンに追加すると
DxInput8.obj : error LNK2019: 未解決の外部シンボル _DirectInput8Create@20 が関数 "public: __thiscall CDxInput8::CDxInput8(void)" (??0CDxInput8@@QAE@XZ) で参照されました。
DxInput8.obj : error LNK2001: 外部シンボル "_IID_IDirectInput8W" は未解決です。
とコンパイルエラーがでて先に進めません
どうやれば、このシンボルは解決できるのでしょうか?

使用しているコンパイラは VC++ 2008 Express
追加しているライブラリは
DirectX SDK 9 -> dinput.lib のため
DXSDK_march2008 -> 最新のdinput.h のため
です。

Re:コンパイルエラー

Posted: 2008年12月16日(火) 22:33
by Justy

>どうやれば、このシンボルは解決できるのでしょうか?

 dinput8.libとか dxguid.libがリンクされていないのではないでしょうか。

Re:コンパイルエラー

Posted: 2008年12月17日(水) 00:07
by s-rush
私も似たようなエラーに悩まされたことがあります。
私の場合、リンクの設定に不備があったので、同じエラーが出ました。
Justyさんのおっしゃる通り、一度リンクの設定を見直してみてください。

Re:コンパイルエラー

Posted: 2008年12月17日(水) 08:21
by dic
Justy さんのおっしゃる通り
dxguid.lib をリンクに追加することで解決しました
ありがとうございました