转载请注明出处: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. 友好解决POI导入Excel文件行是不是为空

    继 解决POI读取Excel如何判断行是不是为空 后发现了一个问题.这个是一个银行的需求,有20万个客户的资料要导入系统,但有的资料是有问题的(不能正常导入),但也有能正常导入的.现在的问题是怎么知道 ...

  2. GTD时间管理(3)---项目

    一:什么是项目? 一个项目是由多步骤,多阶段组成的,不可能一步到位的. 项目分为可大可小. 魔兽世界这个程序是一个项目,是一个用10年开发的大型项目 搭建一个博客也可以成为一个项目,可以用一天时间去搭 ...

  3. Excel 二级下拉菜单

    http://jingyan.baidu.com/article/cd4c2979f31967756f6e6066.html http://hi.baidu.com/chenshake/item/e1 ...

  4. C# 模拟鼠标(mouse_event)

    想必有很多人在项目开发中可能遇见需要做模拟鼠标点击的小功能,很多人会在 百度过后采用mouse_event这个函数,不过我并不想讨论如何去使用mouse_event 函数怎么去使用,因为那没有多大意义 ...

  5. Asp.net Core WebApi 全局异常类

    通过全局异常类,所有程序中遇到的错误都会被拦截,并友好的返回结果. 1.自定义一个全局异常处理类中间件 using Microsoft.AspNetCore.Http; using Newtonsof ...

  6. SQL Server 几种锁的区别

    NOLOCK(不加锁)    此选项被选中时,SQL  Server  在读取或修改数据时不加任何锁.  在这种情况下,用户有可能读取到未完成事务(Uncommited  Transaction)或回 ...

  7. ASP.NET MVC应用require.js实践

    这里有更好的阅读体验和及时的更新:http://pchou.info/javascript/asp.net/2013/11/10/527f6ec41d6ad.html Require.js是一个支持j ...

  8. android自定义view仿照MIUI中音量控制效果

    先看效果图: 这就是miui中的音量效果图,实现思路是自定义视图,绘制圆环,然后设置进度显示. 核心代码在onDraw中实现如下: @Override protected void onDraw(Ca ...

  9. HTML单选按钮样式更换

    <!DOCTYPE html > <html lang="en"> <head> <meta http-equiv="Conte ...

  10. js两种定义函数、继承方式及区别

    一:js两种定义函数的方式及区别 1:函数声明: function sayA() { alert("i am A"); } 2:函数表达式: var sayB = function ...