VC++プロジェクトでユニコードビルドと非ユニコードビルドを切り替える

Visual Studio 2005(Visual C++ 2005)ではプロジェクト作成時に自動的にユニコードビルドプロジェクトとして作成される(ものが多い)。

プロジェクトがユニコード設定になっていると、ほとんどのAPI関数でchar型の引数が受け付けてもらえい。そのためエラーがたくさん出てビルドできない。「インターネット上のサンプルコードをそのままコピー&ペーストしているのにビルドできない!」と泣きたくなった人もいるのではないだろうか?

プロジェクトをユニコードビルドするか、しないかはプロジェクトのプロパティから設定できる。

プロジェクトを開いた状態で「プロジェクト」メニューの「プロパティ」を選択する。
prop01.gif

そして現れたプロパティページの画面左側で「構成プロパティ」の「全般」を選択し、「文字セット」のところで「マルチバイト文字セットを使用する」を選択すると非ユニコードビルドになる。
prop03.gif

当然のことながら「Unicode文字セットを使用する」を選択するとユニコードビルドになる。
prop02.gif


ここで注意すべきは今行った設定はたいてい「Debug」か「Release」のどちらかになっているという点だ。ここでは詳しくは説明しないがVisual C++では開発中に利用するデバッグビルドと配布する製品バイナリ(EXEファイルなど)を出力するためのリリースビルドという2つのモードを備えている。
単に自分のパソコンの中だけでプログラムをして遊んでいるだけであれば意識する必要はない。しかしフリーソフトや市販ソフトなど公に配布するソフトを開発しようという人はこの2つをきちんと区別した方がよい。
prop04.gif


カテゴリー「文字列操作」 のエントリー