[問題] LNK2001 2020 DirectX 連結錯誤[已解決]
開發平台(Platform): (Ex: VC++, GCC, Linux, ...)
Windows Forms @ Visual Studio C++ 2008
DirectX SDK October 2004
額外使用到的函數庫(Library Used): (Ex: OpenGL, ...)
DirectInput (dinput.lib, dinput8.lib, dxguid.lib)
問題(Question):
大家好,小弟又來愚昧發問了,由於DirectX SDK 的 Sample使用windlg,
小弟實在有點難以迅速上手,便將SAMPLE中初始化搖桿的FUNCTION叫出來用
在WIN32 console app中(同樣是VS2008)可以正常COMPILE、LINK,可以讀得到搖桿的資訊
但把同樣的東西丟到Windows Forms裡,COMPILE有過,LINK時卻出錯了!
error共六個:
error LNK2020: 無法解析的語彙基元 (0A00000D) c_dfDIJoystick2
error LNK2020: 無法解析的語彙基元 (0A00000F) GUID_Joystick
error LNK2020: 無法解析的語彙基元 (0A000012) IID_IDirectInput8W
error LNK2001: 無法解析的外部符號 c_dfDIJoystick2
error LNK2001: 無法解析的外部符號 GUID_Joystick
error LNK2001: 無法解析的外部符號 IID_IDirectInput8W
可是我明明就有在專案的連結設定裡面(其他相依性)新增上面提到的程式庫!
這幾樣東西應該是在那幾個LIBRARY裡面的呀....
在WIN32沒出錯,到了WindowsForms確有問題 不曉得是不是專案的那裡設定錯了?~
程式碼(Code):(請善用置底文網頁, 記得排版)
自己設定的初始化DirectInput、搖桿用之header file:
#define DIRECTINPUT_VERSION 0x0800
#include <dinput.h>
LPDIRECTINPUT8 g_DI = NULL; LPDIRECTINPUTDEVICE8 g_Joy = NULL;
void iniDi()
{ DirectInput8Create( GetModuleHandle(NULL), DIRECTINPUT_VERSION,
IID_IDirectInput8, (VOID**)&g_DI, NULL);
g_DI->CreateDevice(GUID_Joystick, &g_Joy, NULL);
g_Joy->SetDataFormat(&c_dfDIJoystick2);
//(略)
}
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 163.13.132.185
※ 編輯: stu85010 來自: 163.13.132.185 (09/12 23:14)
推
09/12 23:15, , 1F
09/12 23:15, 1F
→
09/13 03:47, , 2F
09/13 03:47, 2F
→
09/13 07:13, , 3F
09/13 07:13, 3F
→
09/13 10:26, , 4F
09/13 10:26, 4F
LIBRARY的路徑無誤~"~ 因為同樣的header file在win32 console application可以連結
昨天在專案屬性的設定裡將"Common Language Runtime 支援" 設定為 /clr
就沒有連結錯誤了= =
※ 編輯: stu85010 來自: 163.13.132.185 (09/13 11:26)