0

私は「Introduction to 3D Game Programming with DirectX 9.0c: A Shader Approach」という本に従っていますが、そこにあるすべての例はマルチバイト文字セットを使用していますが、それを使用したくありません。プロジェクトはマルチバイチャクターになります。私の問題は、本にデバッグ機能があることです。ここにコードがあります。

//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 *' に変換できません

誰かが私を助けてくれることを願っています。どうも。

4

1 に答える 1

1

パラメータを から に変更する#xL#x、Microsoft のマクロ を使用してください_T(#x)

于 2013-05-12T02:27:11.163 に答える