1>c:\program files (x86)\microsoft directx sdk (june 2010)\include\d3dx9math.h(392): error C2091: 函数返回函数
1>c:\program files (x86)\microsoft directx sdk (june 2010)\include\d3dx9math.h(392): error C2802: 静态成员“operator new”没有形参
1>c:\program files (x86)\microsoft directx sdk (june 2010)\include\d3dx9math.h(393): error C2059: 语法错误:“字符串”
1>c:\program files (x86)\microsoft directx sdk (june 2010)\include\d3dx9math.h(393): error C2090: 函数返回数组
1>c:\program files (x86)\microsoft directx sdk (june 2010)\include\d3dx9math.inl(990): error C2761: “void *(__cdecl *_D3DXMATRIXA16::operator new(void))(size_t)”: 不允许成员函数重新声明
1>c:\program files (x86)\microsoft directx sdk (june 2010)\include\d3dx9math.inl(990): fatal error C1903: 无法从以前的错误中恢复;正在停止编译
出错代码
// new operators
void* operator new ( size_t );
void* operator new[] ( size_t );
D3DXINLINE void*
_D3DXMATRIXA16::operator new( size_t )
{
if (s > (SIZE_MAX-16))
return NULL;
LPBYTE p = ::new BYTE[s + 16];
if (p)
{
BYTE offset = (BYTE)(16 - ((UINT_PTR)p & 15));
p += offset;
p[-1] = offset;
}
return p;
}
D3DXINLINE void*
_D3DXMATRIXA16::operator new[]( size_t )
{
if (s > (SIZE_MAX-16))
return NULL;
LPBYTE p = ::new BYTE[s + 16];
if (p)
{
BYTE offset = (BYTE)(16 - ((UINT_PTR)p & 15));
p += offset;
p[-1] = offset;
}
return p;
}
你的 D3Dx9shader.h 头文件里的代码有异常。
不允许成员函数重新声明
看看是不是重复导入了。