我正在关注一本名为“DirectX 9.0c 3D 游戏编程简介:一种着色器方法”的书,其中所有示例都使用多字节字符集,我不想使用它,我也不想要我的项目将在多个再见章节中。我的问题是这本书上有一个调试功能,这里是代码。
//debug
#if defined(DEBUG) | defined(_DEBUG)
#ifndef HR
#define HR(x) \
{ \
HRESULT hr = x; \
if(FAILED(hr)) \
{ \
DXTrace(__FILE__, __LINE__, hr, #x, TRUE); \
} \
}
#endif
#else
#ifndef HR
#define HR(x) x;
#endif
#endif
然后在我的 .cpp 文件中,我使用书中的这段代码来创建设备。
HR(md3dObject->CreateDevice(
D3DADAPTER_DEFAULT, // primary adapter
mDevType, // device type
mhMainWnd, // window associated with device
devBehaviorFlags, // vertex processing
&md3dPP, // present parameters
&gd3dDevice)); // return created device
那么错误是。错误 C2664:“DXTraceW”:无法将参数 4 从“const char [107]”转换为“const WCHAR *”
希望可以有人帮帮我。谢谢。