综述

对于Win10系统的大多数用户来说,可以直接编译本教程对应的项目并运行。但也有部分用户由于某些原因可能会出现无法编译的情况。

DirectX11 With Windows SDK完整目录

欢迎加入QQ群: 727623616 可以一起探讨DX11,以及有什么问题也可以在这里汇报。

与当前项目的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++ -语言中,将符合模式设为

注意: 在低版本的Visual Studio 2017,以及Visual Studio 2015是没有标准符合性模式的设置的,并且默认为

具体可以参考 触发-(标准符合性)

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,以及有什么问题也可以在这里汇报。

DirectX11--教程项目无法编译、运行的解决方法相关推荐

  1. 【java】Eclipse错误: 找不到或无法加载主类或项目无法编译10种解决大法!

    原文地址:Eclipse错误: 找不到或无法加载主类或项目无法编译10种解决大法! 今天启动项目,又遇到找不到或无法加载主类的情况,清除项目后无法编译,class文件下没有.class文件,至少遇到3 ...

  2. 项目中遇到问题的解决方法合集

    以下内容主要是为了方便记录自己在工作中遇到的项目问题搜寻到的解决方法,肯定方法不唯一,这里只是给出解决了我的问题的方法,大家走过路过随便瞧瞧较好啦嘻嘻 1.使用@vue/cli 4.x 创建vue项目 ...

  3. 关于AndroidStudio中Gradle文件引发的问题导致HelloWorld无法运行的解决方法

    关于AndroidStudio中Gradle文件引发的问题导致HelloWorld无法运行的解决方法 前言 AndroidStudio下载 安装教程(超级详细) 官网下载 点击启动安装 配置文件 He ...

  4. React项目中请求跨域解决方法

    React项目中请求跨域解决方法 今天经理给我了一个React项目地址,让我拉下来并跑起来,拉下来运行起来后,发现所有的请求都失败了,并且都是由于跨域问题导致的.花了点时间,解决了这个问题,在这里记录 ...

  5. 有声音显示音频服务器,Win7右下角声音图标显示音频服务未运行的解决方法小结...

    Win7右下角声音图标显示音频服务未运行的解决方法小结 发布时间:2012-05-16 00:51:13   作者:佚名   我要评论 在使用Windows7时,遇到了"音频服务未运行&qu ...

  6. 有线网卡linux驱动,Ubuntu 12.04下QCA8172有线网卡驱动编译出错的解决方法

    基于以前的笔记本配置太低,无法满足科研需求,本人屁颠屁颠的去买了一个还算配置蛮新的电脑. 因为科研要在Linux环境下,本人安装了Ubuntu 12.04+WIN7双系统.但是问题出来了,在Ubunt ...

  7. win7无法安装到此计算机,win7系统安装出现“windows安装程序无法将windows配置为在此计算机的硬件上运行”的解决方法...

    很多小伙伴都遇到过win7系统安装出现"windows安装程序无法将windows配置为在此计算机的硬件上运行"的困惑吧,一些朋友看过网上零散的win7系统安装出现"wi ...

  8. 打印后台程序服务没有运行的解决方法

    症状描述:在局域网中添加共享打印机或启动打印作业时,任务栏右下角提示"操作无法完成,打印后台程序服务没有运行",无法进行打印操作:类似问题是由于"Print Spoole ...

  9. 策略服务器未运行错误5,win7系统使用诊断检查网络提示“诊断策略服务未运行”的解决方法...

    Win7系统有时候会出现网络故障导致无法上网,很多朋友都会使用网络诊断来检查问题.不过有的用户在使用诊断检查网络时提示"诊断策略服务未运行"(如下图所示)导致诊断失败,那么如何解决 ...

最新文章

  1. Facebook人工智能实验室提出「全景分割」,实现实例分割和语义分割的统一
  2. Tomcat配置问题解决方法
  3. Petrozavodsk Winter Camp, Day 8, 2014, Mosaic
  4. matlab调用q外部exe文件,Matlab GUI调用外部程序生成exe,DOS窗口输入问题
  5. 怎样使用fastJson发送数组格式的Json数据
  6. Oracle LAST_DAY(d)
  7. 修改DOS窗口编码格式
  8. JS单引号嵌套的问题,怎么改才能对呢!
  9. linux中时间命令详解
  10. java 获取方法的注释_java – 有更有效的方法来获取注释方法吗?
  11. win10系统远程ubuntu(linux)桌面
  12. UML--构件图详解
  13. Linux ALSA驱动之声卡的创建流程
  14. ue4 visual studio 好用的插件Visual AssistX 10.9.2301.0 破解版
  15. Java入门视频教程
  16. matlab 隐函数求偏导数,[对常数的隐函数的求导]隐函数求偏导数如图,为什么F对x求偏导能把z看成常数z不是对x的导数吗~...
  17. linux清除字体缓存,在 Windows,Mac和Linux上,如何安装,删除和管理字体
  18. CSS margin 用法
  19. 开关电源学习笔记7 --- DC-DC变换器的储能电感设计之磁芯及气隙
  20. Html网页设计-美食网站

热门文章

  1. 关于“运放“这些知识点
  2. java成神之路——网络编程
  3. springboot集成bboss操作elasticsearch索引,类型,文档(单集群)
  4. Windows Shell 编程 第十章
  5. android英文参考文献,英文参考文献
  6. 信息化计算机学什么作用,信息化教学在计算机技术课程的应用
  7. WKWebView白屏问题
  8. springboot采用协同过滤算法的家政服务平台的设计与实现毕业设计源码260839
  9. OV7725摄像头的彩色图像采集原理与液晶显示《一》
  10. PTA 吉老师的回归