はじめに
Visual Studio 2017 Update 2 以前は、C/C++のプログラミングの学習や、Win32 API を用いたデスクトップアプリの作成を行う際、「新しいプロジェクト」ダイアログで「Win32 プロジェクト」もしくは「Win32 コンソール アプリケーション」を選択してプロジェクトを作成します。
作成したいプロジェクトを選択して、プロジェクトの名前と保存場所を指定して「OK」をクリックすると「Win32 アプリケーション ウィザード」が表示され、空のプロジェクトの作成ができるようになっていました。
しかし最新の Visual Studio 2017 Update 3 では、新しいプロジェクトの一覧に「Windows デスクトップ」が追加され、代わりに今まであった Win32 の項目がなくなっています。そのため、今までの方法でプロジェクトを作成することはできなくなっています。
一方「Windows コンソールアプリケーション」と「Windows デスクトップアプリケーション」では、いずれもアプリケーション設定が行えるウィザードが一切表示されず、複数のソースコードが追加された状態 (空のプロジェクトではない状態) でプロジェクトが作成されてしまいます。
しかも、ソースファイルやヘッダファイルのエンコード形式が、Shift-JISであってもUTF-8であってもUnicodeであっても、ビルドしたexeファイルの実行時に全角文字が文字化けするため、全く使い物になりません。これって致命的すぎる欠陥なのでは?
そこで本記事では、Visual Studio 2017 Update 3 で、Win32 プロジェクトと同等のプロジェクトを作成する方法を紹介します。
新しく追加された「Windows デスクトップ ウィザード」を使用
まず最初に、「新しいプロジェクト」ダイアログで [Visual C++] → [Windows デスクトップ] の順に選択して、その中の「Windows デスクトップ ウィザード」を選択します。
次に、プロジェクトの名前と保存場所を指定して「OK」をクリックします。すると「Windows デスクトップ プロジェクト」というダイアログが現れます。見た目こそ新しいものの、設定できる項目は従来の「Win32 アプリケーション ウィザード」と同じです。
最後に「アプリケーションの種類」を選択して「空のプロジェクト(E)」にチェックを入れ「プリコンパイル済ヘッダー(P)」のチェックを外し「OK」をクリックします。これで、プロジェクトの作成は完了です。
なお、Visual Studio 2017 のリリースノートでは、Win32 プロジェクトの扱いが変わったことが記載されています。
Visual Studio 2017 version 15.3 Release Notes
https://www.visualstudio.com/en-us/news/releasenotes/vs2017-relnotes#a-idclanguageservices-a-c-language-services
"Win32 projects are under the Windows Desktop category in the New Project dialog."
訳「Win32 プロジェクトは、新しいプロジェクトダイアログの Windows デスクトップの下層にあります。」
まさか、マイナーアップデートでプロジェクトの仕様を変更するとは……
今回のアップデートでとても困っていましたが、この記事で解決しました。解説ありがとうございます!!