转载请注明出处:http://www.cnblogs.com/Ray1024
 
一、概述
在D3D11学习的这个系列中,单独写一篇文章来记录自己学习过程中遇到的问题及最后的解决方法。
这篇文章的目的主要是把自己在学习D3D11过程中遇到的问题整理下来,方便自己以后查看,也帮助一些新手更快地解决问题。
 
二、问题与解决方法
2.1 安装DirectX SDK过程中出现安装错误,Error Code:s1023?
问题如图:
问题分析:
其实根本原因在于Microsoft Visual C++ 2010 Redistributable这个组件,打开控制面板>程序和功能面板,你会看到"Microsoft Visual C++ 2010 x86 Redistributable - 1010.0.40219"这一项组件。如下图:
而June 2010 DirectX SDK需要安装“Microsoft Visual C++ 2010 x86 Redistributable - 1010.0.30319”版本的组件,计算机中已经存在的此组件的新版本,所以安装出现s1023错误。
 
解决步骤:
(1)要解决这个问题,在June 2010 DirectX SDK安装之前,卸载计算机中存在的所有版本的Visual C++ 2010 Redistributable组件。
可以在程序和功能面板中直接卸载。或者,也可以在命令行中运行以下命令卸载:
  MsiExec.exe /passive /X{F0C3E5D1-1ADE-321E-8167-68EF0DE699A5}
  MsiExec.exe /passive /X{1D8E6291-B0D5-35EC-8441-6616F567A0F7}
(2)卸载完上面的组件之后,就可以安装June 2010 DirectX SDK了。
(3)如果你需要新版本的Visual C++ 2010 Redistributable组件,也可以再安装回去。
 
2.2 程序调试运行会出现错误:d3d11CreateDevice Failed?
问题分析:
创建设备和上下文的函数为D3D11CreateDevice,这个函数的参数Flags表示可选的设备创建标志值。当以release模式生成程序时,该参数通常设为0(无附加标志值);当以debug模式生成程序时,该参数应设为:D3D11_CREATE_DEVICE_DEBUG,用来激活调试层。
激活了调试层之后,Direct3D会向VC++的输出窗口发送调试信息。
但是想要使用调试层这个工具,我们需要知道:调试层这个工具是存在于Graphics Tools这个组件中的。我们必须先安装Graphics Tools这个组件。
解决方法:
方法1. Win10系统安装Graphics Tools
打开 开始菜单>设置>系统>应用和功能>管理可选功能>添加功能,找到Graphics Tools选择就可以了(中文系统中的名字是图形工具)。
方法2. Visual Studio 2015
安装vs2015,也会自动安装Graphics Tools这个组件的。
方法3. Visual Studio 2013
Visual Studio 2013的update5版本将自动的在Windows 10上配置Graphics Tools可选功能。
方法4:
如果你不想使用调试层这个工具,直接在D3D11CreateDevice函数第四个参数设置为0。
 
 
三、结语
另外,这篇文章会不定时更新。把自己学习过程中遇到的一些新问题也会加入到这里。
希望这篇文章可以帮助到大家。

Direct3D11学习:(零)常见问题及解决方法整理的更多相关文章

  1. Java学习总结——常见问题及解决方法

    CYTX项目开发中遇到的问题及解决方法 Android开发各类常见错误解决方案: 使用Android Studio遇到的问题及解决过程 登录注册部分问题及解决: 1.问题:"No targe ...

  2. NHibernate常见问题及解决方法

    NHibernate常见问题及解决方法 曾经学过NHibernate的,但是自从工作到现在快一年了却从未用到过,近来要巩固一下却发现忘记了许多,一个"in expected: <end ...

  3. C#用ado.net访问EXCEL的常见问题及解决方法

    C#用ado.net访问EXCEL的常见问题及解决方法,除了像sql server,access常见的数据库,其实Excel文件也可以做为数据库访问. ado.net访问excel的实例: OleDb ...

  4. Nacos 常见问题及解决方法

    Nacos 开源至今已有一年,在这一年里,得到了很多用户的支持和反馈.在与社区的交流中,我们发现有一些问题出现的频率比较高,为了能够让用户更快的解决问题,我们总结了这篇常见问题及解决方法,这篇文章后续 ...

  5. webpack学习笔记(二)-- 初学者常见问题及解决方法

    这篇文章是webpack学习第二篇,主要罗列了本人在实际操作中遇到的一些问题及其解决方法,仅供参考,欢迎提出不同意见. 注:本文假设读者已有webpack方面相关知识,故文中涉及到的专有名词不做另外解 ...

  6. 整理前端css/js/jq常见问题及解决方法(3)

    jq: 1.prepend(参数);//将参数内容前置再某元素内部; eg: <div id="div1">奇妙能力歌</div> $("#div ...

  7. 整理前端css/js/jq常见问题及解决方法(2)

    移动端 手机 1.点击图片或按钮,选中状态影响到其他范围解决:html{-webkit-user-select:none}<meta name="msapplication-tap-h ...

  8. 整理前端css/js/jq常见问题及解决方法(1)

    1. 兼容ie8圆角的解决方法:下载ie-css3.htc文件在css中加入behavior:url(ie-css3.htc);z-index:3; position:relative 即可 2. 去 ...

  9. 【开发总结】—— BABYLON 3D开发常见问题及解决方法

    前言:组内同事们根据长时间的Babylon.js开发实践,一起将项目开发中遇到的问题及解决方法做了一个梳理. ios [最好] 关闭离线缓存—— 解决添加了反射的mesh 丢失的问题 不要使用 pos ...

随机推荐

  1. SQL Server 2008 Datetime Cast 成 Date 类型可以使用索引(转载)

    很久没写blog,不是懒,实在是最近我这的访问速度不好,用firefox经常上传不了图片 ....... 今天无意发现了SQL Server 2008 Datetime Cast 成 Date 类型可 ...

  2. 如何配置 URLScan 工具

    本文分步说明如何配置 URLScan 工具以防止 Web 服务器受到攻击和利用. 安装 URLScan 要安装 URLScan,请访问下面的 Microsoft Developer Network ( ...

  3. IntelliJ IDEA + Maven创建Java Web项目

    1. Maven简介 相对于传统的项目,Maven 下管理和构建的项目真的非常好用和简单,所以这里也强调下,尽量使用此类工具进行项目构建, 它可以管理项目的整个生命周期. 可以通过其命令做所有相关的工 ...

  4. Android 第三方开源库收集整理(转)

    原文地址:http://blog.csdn.net/caoyouxing/article/details/42418591 Android开源库 自己一直很喜欢Android开发,就如博客签名一样,  ...

  5. Scala深入浅出实战经典之 List伴生对象操作方法代码实战.

    王家林亲授<DT大数据梦工厂>大数据实战视频 Scala 深入浅出实战经典(1-64讲)完整视频.PPT.代码下载:百度云盘:http://pan.baidu.com/s/1c0noOt6 ...

  6. 用户管理 之 Linux 用户(user)和用户组(group)管理概述

    一.理解Linux的单用户多任务,多用户多任务概念:Linux 是一个多用户.多任务的操作系统:我们应该了解单用户多任务和多用户多任务的概念: 1.Linux 的单用户多任务:单用户多任务:比如我们以 ...

  7. Ant自动编译打包&发布 android项目

    Eclipse用起来虽然方便,但是编译打包android项目还是比较慢,尤其将应用打包发布到各个渠道时,用Eclipse手动打包各种渠道包就有点不切实际了,这时候我们用到Ant帮我们自动编译打包了. ...

  8. mvc edmx 的config文件

    <?xml version="1.0" encoding="utf-8"?> <configuration> <connectio ...

  9. Idea 201601注册码

    参考链接 http://blog.csdn.net/u010310183/article/details/51162137 在license 下面输入 http://www.iteblog.com/i ...

  10. Mac终端常用命令收集

    删除非空目录 rm -rf 目录名字 -r 就是向下递归,不管有多少级目录,一并删除-f 就是直接强行删除,不作任何提示的意思 终端修改hosts文件 sudo vi /etc/hosts 切换到su ...