zoukankan      html  css  js  c++  java
  • directx11编程中遇到的错误及解决方法

    (2016-05-10)xnamath.h 报错: 在标识符“XMConvertToRadians”的前面

    报错如下:

    1>d:program filesmicrosoft directx sdk (june 2010)includexnamath.h(159): error C2146: 语法错误: 缺少“;”(在标识符“XMConvertToRadians”的前面)
    1>d:program filesmicrosoft directx sdk (june 2010)includexnamath.h(159): error C2433: “FLOAT”: 不允许在数据声明中使用“__forceinline”
    1>d:program filesmicrosoft directx sdk (june 2010)includexnamath.h(159): error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
    1>d:program filesmicrosoft directx sdk (june 2010)includexnamath.h(159): error C2146: 语法错误: 缺少“)”(在标识符“fDegrees”的前面)
    1>d:program filesmicrosoft directx sdk (june 2010)includexnamath.h(159): error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
    1>d:program filesmicrosoft directx sdk (june 2010)includexnamath.h(159): error C2059: 语法错误:“)”
    1>d:program filesmicrosoft directx sdk (june 2010)includexnamath.h(159): error C2143: 语法错误 : 缺少“;”(在“{”的前面)
    1>d:program filesmicrosoft directx sdk (june 2010)includexnamath.h(159): error C2447: “{”: 缺少函数标题(是否是老式的形式表?)
    1>d:program filesmicrosoft directx sdk (june 2010)includexnamath.h(160): error C2146: 语法错误: 缺少“;”(在标识符“XMConvertToDegrees”的前面)
    1>d:program filesmicrosoft directx sdk (june 2010)includexnamath.h(160): error C2433: “FLOAT”: 不允许在数据声明中使用“__forceinline”
    1>d:program filesmicrosoft directx sdk (june 2010)includexnamath.h(160): error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
    1>d:program filesmicrosoft directx sdk (june 2010)includexnamath.h(160): error C2086: “int FLOAT”: 重定义
    1> d:program filesmicrosoft directx sdk (june 2010)includexnamath.h(159) : 参见“FLOAT”的声明
    1>d:program filesmicrosoft directx sdk (june 2010)includexnamath.h(160): error C2146: 语法错误: 缺少“)”(在标识符“fRadians”的前面)
    1>d:program filesmicrosoft directx sdk (june 2010)includexnamath.h(160): error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
    1>d:program filesmicrosoft directx sdk (june 2010)includexnamath.h(160): error C2059: 语法错误:“)”
    1>d:program filesmicrosoft directx sdk (june 2010)includexnamath.h(160): error C2143: 语法错误 : 缺少“;”(在“{”的前面)
    1>d:program filesmicrosoft directx sdk (june 2010)includexnamath.h(160): error C2447: “{”: 缺少函数标题(是否是老式的形式表?)

    解决方法:

    将 #include <xnamath.h>头文件放到 

    #include <D3D11.h>
    #include <d3dx11.h>
    #include <DxErr.h>
    #include <D3DCompiler.h> // for shader flags

    的后面即可

     

    (2016-06-17)windows10中创建Direct3D11设备出现0x887a002d错误,提示应用程序请求的操作依赖于已缺失或不匹配的 SDK 组件

    最近把系统中win7升级到了win10,在运行之前的dx11demo时发现弹出的都是空白窗口,调试时发现在代码中调用D3D11CreateDevice函数返回0x887a002d, 错误消息是"应用程序请求的操作依赖于已缺失或不匹配的 SDK 组件。

    解决方法:原来windows10没有自带图形调试器, 调用D3D11CreateDevice函数时Flags参数包含D3D11_CREATE_DEVICE_DEBUG就会创建失败.

    对于 Windows 10,图形诊断工具现已作为 Windows 内的可选功能提供。若要使用在运行时和 Visual Studio 中提供的图形诊断功能来开发 DirectX 应用或游戏,请安装可选“图形工具”功能:

    1. 转到“设置”、依次选择“系统”和“可选功能”,然后单击“添加功能”
    2. 在“添加功能”列表中,单击“图形工具”

    微软官方说明:https://msdn.microsoft.com/library/windows/apps/dn914047.aspx

  • 相关阅读:
    pandas 修改列顺序
    read_csv,to_csv 前n行
    郭盛华:未来黑客攻击的将远不止网络
    微软的 Linux 存储库停机 18 多个小时
    警惕黑客利用 Google Docs进行网络钓鱼
    苹果发布紧急补丁!修复被黑客利用的2个零日漏洞
    谷歌发布新框架以防止软件供应链攻击
    郭盛华:以知识见识锤炼真本领,年轻人要有理想
    通过 GDPR 加强密码政策,是企业网络的第一道防线
    肉类供应商遭黑客攻击,并支付了 1100 万美元的赎金
  • 原文地址:https://www.cnblogs.com/zhangbaochong/p/5593584.html
Copyright © 2011-2022 走看看