DirectX11--教程項目沒法編譯、運行的解決方法

綜述

對於Win10系統的大多數用戶來講,能夠直接編譯本教程對應的項目並運行。但也有部分用戶因爲某些緣由可能會出現沒法編譯的狀況。html

DirectX11 With Windows SDK完整目錄windows

歡迎加入QQ羣: 727623616 能夠一塊兒探討DX11,以及有什麼問題也能夠在這裏彙報。api

與當前項目的Windows SDK版本不一致

對於Visual Studio 2017,你能夠點擊項目-重定解決方案目標,選擇你當前擁有的SDK版本便可。數組

若是沒有上述選項,你須要全選全部項目,並在項目屬性-常規中,將Windows SDK版本改成當前你擁有的SDK版本。函數

存在大量的編譯錯誤

此問題僅針對SDK版本在10.0.162099.0如下,而且是使用VS2017的狀況。工具

因爲在Visual Studio 2017版本15.5及更高版本所建立的新項目中,新增了編譯器的標準符合性模式(/permissive-),而且該選項默認是開啓的。該選項用於檢測一些非標準C++語言的寫法,而且僅支持從10.0.162099.0開始到目前最新版本的Windows SDK。舊版本的Windows SDK在編譯時會引起大量的編譯錯誤,須要在項目屬性- C/C++ -語言中,將符合模式設爲ui

注意: 在低版本的Visual Studio 2017,以及Visual Studio 2015是沒有標準符合性模式的設置的,而且默認爲debug

具體能夠參考 觸發-(標準符合性)3d

Debug模式下打開程序出現D3D11CreateDevice Failed

這種狀況下Release模式應該仍是能夠運行的,如今查看調試輸出窗口應該會有以下信息調試

目前已經確認是你電腦的Win10系統沒有安裝圖形工具。首先點擊Win-Windows 管理工具-服務

找到服務(本地)中的Windows Update項,若是沒有啓用,則將它啓動。

而後右鍵Win-設置,搜索:管理可選功能,進去後查看如今可選功能是否包含了圖形工具,若沒有則添加該功能,安裝完成後能夠看到:

如今應該能夠進行調試了

提示Direct3D Feature Level 11 unsupported

出現這個說明你的顯卡不支持特性等級11.0,你能夠嘗試給特性等級數組添加D3D_FEATURE_LEVEL_10_1D3D_FEATURE_LEVEL_10_0,而後將全部的HLSL編譯器使用的着色器模型下調至Shader Model 4.0,還要在全部CreateShaderFromFile函數中下調。

Windows 7系統沒法直接運行的解決方法

在編寫該項目的時候一開始是隻考慮了Win 10 系統,沒有考慮向下兼容的,但如今既然要作到兼容(多是部分兼容),還須要在原有的項目基礎進行一些額外的配置。

沒法定位程序輸入點CreateFile2於動態連接庫kernel32.dll上

CreateFile2函數僅Windows 8以上的系統支持,該函數在DDSTextureLoader中用到,但咱們能夠經過修改_WIN32_WINNT的值來讓它使用CreateFileW

在項目屬性-C/C++ -預處理器中按下面的方式添加宏:

而後從新編譯解決方案/項目便可。

從本教程項目08起都沒法看到文字

考慮到不該該只是由於沒法看到文字就讓程序運行不了,通過修改後,若是你的系統不支持DirectX 11.1,則將不會顯示文字。若是你想要在Windows 7系統上看到項目的文字,則須要:

  1. 更新Windows 7系統直到安裝了Service Pack 1
  2. 安裝KB2670838補丁

缺乏d3dCompiler_47.dll

Windows 7系統一般狀況下是缺乏該動態庫的,但若是你裝了Visual Studio 2015/2017,一般會包含該動態庫供使用。爲此,你須要從Visual Studio的安裝路徑中找到運行庫對應的版本,如:
Windows SDK 8.1對應C:\Program Files (x86)\Windows Kits\8.1\Redist\D3D,而後再根據x64仍是x86將裏面的d3dCompiler_47.dll複製到你的項目,或者C:\Windows\System32中。

缺乏api-ms-win-core-libraryloader-l1-1-0.dll

出現該問題是由於將不合適的d3dCompiler_47.dll拉入到項目或系統環境中,參照上一條進行操做。

DirectX11 With Windows SDK完整目錄

歡迎加入QQ羣: 727623616 能夠一塊兒探討DX11,以及有什麼問題也能夠在這裏彙報。

相關文章
相關標籤/搜索