昨日, Visual Studio Community 2017 をインストールした。 Visual C++ と CMake を勉強しようと思ってさ。なんで思い立ったかというと, Apache の開発版を Windows 用に自分でコンパイルしてみたいもので。 Apache の Win 用コンパイルのページ 説明によると, cmake-based build system がいると書いてある。それと, Visual C++ チームは Visual Studio 2017 では CMake を簡単に使えるようになったと言っていて, CMake チームのほうは, version 3.7 以上で Visual Studio 2017 互換になったと言っていた。まさしく,時は今って感じ。さあ, CMake をおともに Visual C++ をやろうゼ。
[Visual Studio 2017 について]
何はともあれ, Visual Studio Community 2017 をここからダウンロード。インストールについては, Install Visual Studio 2017 を参照。大体デフォのままで行ったんだけど, Step 4 – Select workloads のとこでは全部にチェックした。どれが必要か全くわからなかったもんで。おかげで馬鹿でかいインストールになって,ターイヘンだった。 VS 2017 のシステム要件はこれ。
まぁ,インストールするのに何を選ぶかと自分のネット環境にもよるんだが,ちょっとばかり時間がかかると思う。耐えてね。
しょっぱなに Visual Studio Community 2017 を起動したときに, Visual Studio へのサインインを促されるけどこれはやっておかないとしようがない。なんでかというと,Visual Studio Community エディションのロックを解除する – 30 日の評価期間の制限がなくなります。ということらしいので。 30 日しか使わないということは,多分ないよな。
[CMake について]
で,次は, CMake をここからダウンロードする。我が家は, cmake-x.x.x-win32-x86.msi を使ったが,各自環境にあったものを選んでほしい。インストールするときに, Install Options のところで, “Add CMake to the system PATH for all users” か “Add CMake to the system PATH for the current user” にするのを忘れないこと。
———————
これで, VS 2017 と CMake が PC に降臨した。
ちゃんとインストールできてるかの確認のために HelloWorld.exe を作ってみようと思う。全部, Visual Studio 上でやるよ。
- デスクトップ アイコンから Visual Studio 2017 を起動。
- HelloWorld app を作るのに メニューバーの ファイル>>新規作成>>プロジェクト と進む。こんな感じ。
- Visual C++ カテゴリ>>Windows コンソールアプリケーション と選んで,下のほうの名前を HelloWorld に書き換える。
- HelloWorld.cpp ファイルで, return 0; の行の前に空白行を作り,そこに下記のコードを書き込む:
printf("Hello, World.n");
この時点でも HelloWorld.exe は作れる。だけど, CMake がおともしていない。おともさせるには, CMakeLists.txt ファイルを HelloWorld.cpp のあるフォルダに追加してやらないといけない。
- ソリューション エクスプローラーの表示をソリューション形式からフォルダー形式に変えてやる。こんな感じ。
- HelloWorld フォルダーを右クリックしてファイルを追加する。追加したファイル名を New File から CMakeLists.txt に変更する。
- CMakeLists.txt ファイルに下記のコードを書き込む:
add_executable(HelloWorld HelloWorld.cpp)
これをやると,メニュバーに CMake(K) が出現する。 - ソリューション エクスプローラーの CMakeLists.txt ファイルを右クリックして HelloWorld.exe を CMake でビルドする。
fig.07 参照。 - ツールバーにあるスタートアップアイテムの選択のドロップダウンメニューから HelloWorld.exe を選びデバッグをする。 fig.08 と fig.09 を参照。
- HelloWorld.exe は一瞬で終わるので, return 0; 行にブレークポイントでも設定しておかないと, cmd ウインドウの “Hello, World.” を見るのはとっても無理だけど。まあでも HelloWorld.exe ができた。よかったよかった。
はじめたばかりでゴールはずーーーっと,先デスワ。