2012-02-16 298 views
0

我試圖建立一個項目(用於ARM),以方便通過HID設備進行通信。下面是我有什麼細節:VC++項目:無法解析的外部符號HidD_GetHidGuid

與Windows 7
  • 的Visual Studio
    • PC 2011開發者預覽版
    • WDK

    微軟庫函數FindKnownHidDevices()使得以HidD_GetHidGuid調用( )在我的項目中。然而,鏈接器不喜歡這一點,並抱怨:

    *錯誤LNK2019:解析外部符號HidD_GetHidGuid在函數引用「無符號的字符__cdecl FindKnownHidDevices *

    我已經擁有以下解決方法在我的項目沒有成功所以遠:在Configuratio

    • 包括hid.lib & SetupAPI.lib在鏈接器 - >輸入 - - >下2011 VS的配置管理器的附加Dependencings
    • 包括下hidsdi.h 「>包含目錄VC++目錄」 ñ2011 VS經理
    • 包含在.c文件的.H版本,這使得調用函數HidD_GetHidGuid()使用的extern「C」

    什麼可能我會丟失hidsdi.h?

  • 回答

    1

    如果代碼編譯成功,那麼編譯器會找到正確的頭文件。由於鏈接程序失敗,這表明它無法找到指定的.lib文件。

    您是否下載並安裝了WoA SDK?所需的lib文件實際上可能不在ARM目標的鏈接程序文件夾中(它們不在Studio 11 Developer Preview的默認安裝中)。