【问题标题】:Problems with Directx Header fileDirectx 头文件的问题
【发布时间】:2014-03-06 17:02:12
【问题描述】:

您好,我正在尝试使用 Visual Studio 2013 图形调试器并尝试创建一个事件组。但是我在包含 d3d11_1.h 头文件时遇到了问题。我在 2010 年 6 月 SDK 的包含文件中将标头复制到了我的包含目录。但是弹出如下错误。

1>c:\program files (x86)\microsoft directx sdk(2010 年 6 月)\include\dxgi1_2.h(1271):错误 C4430:缺少类型说明符 - 假定为 int。注意:C++ 不支持 default-int

1>c:\program files (x86)\microsoft directx sdk(2010 年 6 月)\include\dxgi1_2.h(1271):错误 C2143:语法错误:在 '*' 之前缺少 ','强>

1>c:\program files (x86)\microsoft directx sdk(2010 年 6 月)\include\dxgi1_2.h(1275):错误 C2061:语法错误:标识符 'DXGI_RGBA'

我还复制了包含目录中的 dxgi1_2.h。是什么导致了这个问题?是冲突问题吗?谁能告诉我如何创建这个事件组?

【问题讨论】:

  • 我有 3 个假设:(1)你忘了#include <windows.h>; (2)你忘记了某个地方的标题保护(例如#pragma once); (3) 你在包含方面做错了什么。向我们展示相关代码。

标签: directx visual-studio-2013 directx-11


【解决方案1】:

错误是由于头文件的顺序,你将 DirectX 头文件放在 windows 头文件之前,所以 windows.h 中定义的某些类型在编译器处理 directx 头文件时不可见。

您应该在 direct3d 标头之前包含 windows.h。

#include <windows.h>
#include <d3d11_1.h>
...

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-08-12
    • 1970-01-01
    • 1970-01-01
    • 2013-01-24
    • 1970-01-01
    • 2011-10-11
    • 1970-01-01
    相关资源
    最近更新 更多