我想從Windows API編譯一些代碼。它說某些.lib和.h文件必須包含在我使用的Windows 7 SDK的版本中。 Visual Studio顯示.h文件,但在嘗試構建項目時出現鏈接程序錯誤(L2019)。Visual Studio Ultimate 2010:檢查win7 SDK?
如何檢查我的Win7 SDK的版本,以及如何查看它是否包含必需的.lib文件?
我想從Windows API編譯一些代碼。它說某些.lib和.h文件必須包含在我使用的Windows 7 SDK的版本中。 Visual Studio顯示.h文件,但在嘗試構建項目時出現鏈接程序錯誤(L2019)。Visual Studio Ultimate 2010:檢查win7 SDK?
如何檢查我的Win7 SDK的版本,以及如何查看它是否包含必需的.lib文件?
你真的告訴鏈接器它應該鏈接相應的.lib文件嗎?項目模板只鏈接最流行的.lib文件,kernel32.lib,user32.lib等。如果您使用「異常」API函數,那麼您還必須告訴鏈接器鏈接導入庫。
Project + Properties,Linker,Input,Additional Dependencies。如果您不知道需要什麼.lib,請查看SDK文檔中的API函數。 .lib文件列在文章的底部。
您可以做的另一件事是在您的源代碼中使用#pragma來告訴鏈接器與.lib鏈接。例如:
#include <shlwapi.h>
#pragma comment(lib, "shlwapi.lib") // NOTE: need to link this .lib to get shell functions
可能的解決方案:轉到「C:\ Program Files \ Microsoft SDKs \ Windows」並查看是否安裝了版本(或者是否存在該路徑)。
PS:* always *在問題中發佈錯誤消息。你會得到一個直接的答案。 – 2010-06-24 19:42:44