開発環境:VS2005,WinXP pro,DirectX 9です。
参考書に付属してあった
サンプルプロジェクトのコードですと出ないエラーなのですが
自分が作成したプロジェクトで
DXTRACE_ERRを使用すると下記のようなエラーが出てしまいます。
エラー:
エラー 2
error C2664: 'DXTraceW' : 4 番目の引数を 'const char [24]' から 'const WCHAR
*' に変換できません。
-------------------------------------------------------
使用例:
if (!RegisterClassEx(&wcex))
return DXTRACE_ERR(InitApp RegisterClassEx, GetLastError());
どのようにすれば、サンプルのようにエラーが出なくなるでしょうか?
ご教授お願い致します。
リンカ->入力->追加の依存ファイルには下記のlibを追加しています。
d3d9.lib d3dx9.lib dxerr9.lib dxguid.lib imm32.lib odbc32.lib odbccp32.lib
Unicode-modeでコンパイルしてるんじゃないかしら。
プロジェクト・プロパティで設定をUnicodeからマルチバイトに変更してみて。
素早いレスありがとう御座います。
επιστημη様のご指摘どおりでした。
これで先に進むことが出来ます。
ありがとう御座いました。
サンプルと同じコードをコンパイルすることが目的ならそれでいいけれど、自分で新し
くコードを書いた場合は <tchar.h> を使った方がいいんじゃないのかな…
#include <tchar.h> を加えて、こう↓書き換える。
return DXTRACE_ERR( _T( InitApp RegisterClassEx ), GetLastError());
シャノン様
レスありがとう御座います。
UNICODEを意識したコードを書いたほうが良いという
解釈でよろしいでしょうか?
> UNICODEを意識したコードを書いたほうが良いという
> 解釈でよろしいでしょうか?
どちらでも、動くように書いておけばOKということです。
Unicodeだけを意識するのであれば、_Tマクロとか使わないで直接
wchar_t型や Lほげ のような書き方をしてしまえばいいですから。
一応 VS2005からはこの手の質問がよくあるので、そのときに説明した掲示板のスレッド
を参考にしてみてください。
http://cgi21.plala.or.jp/keny01/patio_32/patio.cgi?mode=view&no=250