簡體   English   中英

Visual Studio 2017 找不到 windows.h

[英]Visual Studio 2017 can't find windows.h

你好,我剛剛安裝了 Visual Studio 2017(企業)。我打開了我在 Visual Studio 2015 中創建的項目。我的項目使用 windows.h 庫,但 VS2017 找不到這個庫。 這個怎么修?

我的解決方案是:

  • 打開項目屬性
  • 進入通用--> SDK 版本
  • 我只是選擇了10.0.15063.0版本而不是 8.1

它奏效了。

我通過重新運行 Visual Studio 安裝程序並選擇“修改”按鈕解決了這個問題。 看到工作負載屏幕后,我單擊“單個組件”選項卡並選擇所有最新的“Windows 10 SDK”復選框(版本 10.0.15063.0)。 我的猜測是“桌面 C++ x86 和 x64”的條目是實際修復它的條目,但這只是推測,因為當我運行安裝程序時沒有檢查這些選項,正如您所看到的,我檢查了所有選項。

在此處輸入圖片說明

當您在舊項目中自定義包含/庫路徑時會發生這種情況。 如果您在項目屬性中添加了自己的其他路徑,VisualStudio 2017 在平台/工具集之間切換時無法自動找出基本路徑 - 通常它會自動在那里放置正確的路徑,但如果您添加了自定義,VS 不會觸及它們。

這是我最近在將針對 Windows XP 的舊項目遷移到 VS2017 時遇到的合理問題。 到目前為止,此處列出/鏈接的所有答案或評論都沒有幫助。 我在 VisualStudio 2017 安裝程序中有所有舊版 SDK,沒有一個固定的 VS 沒有找到必要的包含,例如<windows.h> 就我而言,該項目使用的是 VS2013 中的 v120 工具集,在較新的 VS 中已被 v140_xp 取代。

設置正確的VS2017理解的平台和工具集后,我做了以下解決問題:

  • 打開項目屬性,轉到 VC++ 目錄,對於“包含目錄”和“庫目錄”,選擇<Inherit from parent or project defaults> 這將刪除您的其他路徑。

  • 單擊“應用”。 這會將包含路徑重置為$(VC_IncludePath_x86);$(WindowsSdk_71A_IncludePath_x86) (因 SDK 而異)。

  • 在此處重新添加您的額外路徑,或者更好 - 在 C/C++/General -> Additional Include Directories 和 Linker/General -> Additional Library Directories 下。

當我簡單地將“General => Windows SDK version”更改為不同的版本,提交更改然后將其更改回來時,我就修復了它。

當您將 C++ 項目從更新的 Visual Studio 版本遷移到較小的版本時,就會出現問題。 要解決此問題,只需轉到您的:項目的屬性--> 常規--> SDK 版本[並在此處展開​​以顯示已安裝的 SDK 版本,以便您降級到可用版本 {由於所需版本似乎不可用,因此出現錯誤}]。 一旦選擇了可用的 SDK 之一,應用並返回到您的代碼,一切都會得到修復

如果安裝沒問題,它應該在這里:

C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.15063.0\\um\\Windows.h

所以請確保它在項目屬性的包含路徑上。

項目屬性

或者,如果您更喜歡手動編輯 .vcxproj 文件中的 IncludePath 標記行:

<IncludePath>$(VC_IncludePath);$(WindowsSDK_IncludePath);C:\Program Files (x86)\Windows Kits\10\Include\10.0.15063.0\um;C:\Program Files (x86)\Windows Kits\10\Include\10.0.15063.0\shared;</IncludePath>

TL;DR:確保選中下面標記的復選框。

在 Include Directories Dlgbox 中,底部有一個選項“Inherit from...”需要勾選。 在將項目移動到不同的解決方案后,它以某種方式未被選中。

因此,就我而言,甚至不需要重置為默認值並再次添加自定義路徑。 截屏

您必須進入 Visual Studio 2017 安裝程序,選擇單個組件,然后手動選擇並安裝 Windows 8.1 SDK。

這一步對我有用。 1. 打開 Visual Studio 安裝程序 2. 在菜單“Visual Studio comunity 2017”--> 單擊修改 3. 在使用 C++ 進行桌面開發--> 啟用 windows10 SDK for desktop 和 windows 8.1 SDK 4. 單擊修改

我還首先使用默認組合設置安裝了 Visual Studio 2017(社區)。我打開了我在 Visual Studio 2015 中創建的項目。我的項目使用 windows.h 庫,但 VS2017 找不到這個庫和其他問題。 起初我安裝缺少的(SDK 10 ...等)組件。 部分問題消失了,但是windows.h 還是沒有找到。 通過完全卸載 VS2017 然后立即安裝所有選項解決了該問題。

我的解決方案是檢查路徑。

包括目錄:

C:\Program Files (x86)\Windows Kits\10\Include\10.0.17763.0\um;
C:\Program Files (x86)\Windows Kits\10\Include\10.0.17763.0\shared;
%(AdditionalIncludeDirectories)

圖書館目錄:

C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.16.27023\lib\x64

然后右鍵單擊解決方案資源管理器:解決方案'xxxxx'(1 個項目)行單擊“重定向解決方案”

請記住為符號獲取設置調試設置 - Windows 10 必須使用 Microsoft 符號服務器!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM