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
的后面即可。