xnamath.h 报错: 在标识符“XMConvertToRadians”的前面
如下报错
>d:\program files\microsoft directx sdk (june )\include\xnamath.h(): error C2146: 语法错误: 缺少“;”(在标识符“XMConvertToRadians”的前面)
>d:\program files\microsoft directx sdk (june )\include\xnamath.h(): error C2433: “FLOAT”: 不允许在数据声明中使用“__forceinline”
>d:\program files\microsoft directx sdk (june )\include\xnamath.h(): error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
>d:\program files\microsoft directx sdk (june )\include\xnamath.h(): error C2146: 语法错误: 缺少“)”(在标识符“fDegrees”的前面)
>d:\program files\microsoft directx sdk (june )\include\xnamath.h(): error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
>d:\program files\microsoft directx sdk (june )\include\xnamath.h(): error C2059: 语法错误:“)”
>d:\program files\microsoft directx sdk (june )\include\xnamath.h(): error C2143: 语法错误 : 缺少“;”(在“{”的前面)
>d:\program files\microsoft directx sdk (june )\include\xnamath.h(): error C2447: “{”: 缺少函数标题(是否是老式的形式表?)
>d:\program files\microsoft directx sdk (june )\include\xnamath.h(): error C2146: 语法错误: 缺少“;”(在标识符“XMConvertToDegrees”的前面)
>d:\program files\microsoft directx sdk (june )\include\xnamath.h(): error C2433: “FLOAT”: 不允许在数据声明中使用“__forceinline”
>d:\program files\microsoft directx sdk (june )\include\xnamath.h(): error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
>d:\program files\microsoft directx sdk (june )\include\xnamath.h(): error C2086: “int FLOAT”: 重定义
> d:\program files\microsoft directx sdk (june )\include\xnamath.h() : 参见“FLOAT”的声明
>d:\program files\microsoft directx sdk (june )\include\xnamath.h(): error C2146: 语法错误: 缺少“)”(在标识符“fRadians”的前面)
>d:\program files\microsoft directx sdk (june )\include\xnamath.h(): error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
>d:\program files\microsoft directx sdk (june )\include\xnamath.h(): error C2059: 语法错误:“)”
>d:\program files\microsoft directx sdk (june )\include\xnamath.h(): error C2143: 语法错误 : 缺少“;”(在“{”的前面)
>d:\program files\microsoft directx sdk (june )\include\xnamath.h(): error C2447: “{”: 缺少函数标题(是否是老式的形式表?)
解决方法
将 #include <xnamath.h>头文件放到
#include <D3D11.h>
#include <d3dx11.h>
#include <DxErr.h>
#include <D3DCompiler.h> // for shader flags
的后面即可。