- 218 名前:デフォルトの名無しさん mailto:sage [2009/10/19(月) 15:19:29 ]
- Qt Creator 1.3 betaをダウンロードしてWindows/TDM's MinGWでQtを使い始めてみてるんだけど,
なかなか調子よく動くんで喜んでいたら,UNICODE関連で引っ掛かった。 ::MessageBox(NULL, "こんにちは", "Title", MB_OK); と書いたら,コンパイルエラーになったので,MessageBoxAに変えたらコンパイル通って,ちゃんと 動いた。つーことは _UNICODE が定義されてるってことだよね。 ソースファイルは他のエディタで開いてみたらShift_JISだったので, ::MessageBox(NULL, L"こんにちは", L"Title", MB_OK); にしてみたり,tchar.hをインクルードして, ::MessageBox(NULL, _T("こんにちは"), _T("Title"), MB_OK); と書いてもコンパイルエラーになる(もちろんMessageBoxWでも同じこと)。 MinGW32-g++のコマンドラインオプションに -finput-charset=CP932 と -fexec-charset=CP932 を 設定すれば直ることはわかってるんだが,ヘルプを見てもプロジェクトファイル(.pro)にそのような 指定はできないようだし,どこかで設定できないのかな? 今回の例はMessageBoxなのでQMessageBox使えって言われそうだけど,他にもAとWの両方が あるWIN32 APIは沢山あるわけで,どうやって解決したらいいのか知ってる人がいたら教えてください。
|

|