[問題] LNK2001 2020 DirectX 連結錯誤[已解決]

看板C_and_CPP作者 (黑白夜衝爽哥)時間13年前 (2012/09/12 23:09), 編輯推噓1(103)
留言4則, 4人參與, 最新討論串1/1
開發平台(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
啊就LINK錯了,能怎麼辦Orz
09/12 23:15, 1F

09/13 03:47, , 2F
阿上面都寫說link error了 就去找該lib啦~
09/13 03:47, 2F

09/13 07:13, , 3F
可是該列的LIB我都列了阿~"~
09/13 07:13, 3F

09/13 10:26, , 4F
可能lib路徑參數不對或版本不對,再檢查看看吧
09/13 10:26, 4F
LIBRARY的路徑無誤~"~ 因為同樣的header file在win32 console application可以連結 昨天在專案屬性的設定裡將"Common Language Runtime 支援" 設定為 /clr 就沒有連結錯誤了= = ※ 編輯: stu85010 來自: 163.13.132.185 (09/13 11:26)
文章代碼(AID): #1GKAN6sX (C_and_CPP)