2011-09-30 67 views
4

「解析外部符號」鏈接錯誤正如標題所暗示的,我有以下鏈接錯誤:解決hid.lib在VC++

error LNK2019: unresolved external symbol "unsigned char __stdcall HidD_GetAttributes(void *,struct _HIDD_ATTRIBUTES *)" ([email protected]@[email protected]@@Z)

調用我的代碼result = HidD_GetAttributes(WriteHandle, &attributes)時。

此函數應該存在於我已經添加到項目的鏈接器依賴項中的「hid.lib」中。我還包含了具有HidD_GetAttributes函數原型的頭文件「hidsdi.h」。

我認爲唯一的其他問題可能是有問題的是,「hid.lib」的函數原型被分成三個不同的頭文件:hidsdi.h,hidpi.h和hidsage.h。

有什麼建議嗎?

回答

7

剛剛解決了這個問題。顯然「hid.lib」是用C語言編寫的,這導致了一些名稱的變形。使用

extern "C" 
{ 
    #include "hidsdi.h" 
} 

清除了一切。

+0

感謝您的解決方案!我花了差不多一個小時來解決同樣的問題......爲什麼他們不這樣說MSDN!? –

+0

從我的經驗來看,微軟的文檔並不是那麼好。我所遇到的大多數問題都是通過弄亂我的代碼或搜索論壇來解決的。很高興這對你有幫助。 – Ben