【第6回】複数のプロジェクトを管理するには
ソリューションとプロジェクト
Visual Studio2017では「ソリューション」と「プロジェクト」という単位でソースコードを管理しています。
「ソリューション」と「プロジェクト」の関係は、ちょうど下の図のようになっています。
図にある通り、ソリューションの中に複数のプロジェクトを入れることが出来ます。
複数のプロジェクトを作る場面
いくつかありますが、一つ挙げるとすれば「プログラムの自動テストを行う時」です。
プログラムの自動テストを行うためには、コードを書きソースコードをどこかに保存しなければいけません。
この時「テストしたいプログラム」が入ったプロジェクトと、「自動テストを行うプログラム」が入ったプロジェクトを同じソリューションに入れて管理すれば二つのプログラムをまとめて管理することが出来ます。
ソリューションの中にプロジェクトを2つ作成する
今回はソリューションの中にプロジェクトを二つ作成し、一方のプロジェクトからもう一方のプロジェクトの関数を呼び出してみましょう。
プロジェクトの作成
まずは
第4回を参考にして新規プロジェクトを作成してください。
プロジェクトを作成したらソリューションエクスプローラーのソリューションを右クリックして、追加(D)-新しいプロジェクト
をクリックします。
今回はコンソールアプリケーションを選択します。
プロジェクトの作成に成功すると、ソリューションエクスプローラーが次のように表示されます。
ソリューション・プロジェクトごとのビルド
既に第4回でビルドの方法は紹介しましたが、改めてプロジェクト単位・ソリューション単位でビルドする方法を紹介します。
プロジェクト単位でビルドするには、ビルドしたいプロジェクトを選択し(上の画像ではBlogTest
かConsoleApplication1
)画面上部のメニューからビルド(B)
をクリックしてプルダウンメニューを開きます。
表示されたメニューの[ビルドしたいプロジェクト名]のビルド
をクリックするとビルドが実行されます。
ソリューション単位でビルド(全てのプロジェクトでビルドを実行)するには先ほどのプルダウンメニューからソリューションのビルド
をクリックするか、Ctrl+Shift+B
を押すことによって実行できます。
設定を変更する
以下の内容を実行する前に、ConsoleApplication1のプロパティを開きC/C++-詳細設定-必ず使用されるインクルードファイル
に、pch.h
を入力します。
ファイルを追加・変更する
BlogTestプロジェクトにtest.cpp
とtest.h
を作成し ConsoleApplication1.cpp
の内容を変更してください。
下のソースコードは、上から順にtest.cpp
・test.h
・ConsoleApplication1.cpp
の内容となっています。
#include "test.h" int test(int num) { return num + 1; }
#pragma once int test(int num);
#include "../BlogTest/test.h" #include <iostream> int main() { std::cout << test(5); return 0; }
既存の項目を追加
このままでは、test関数をConsoleApplication1プロジェクトから呼び出すことは出来ません。
呼び出せるようにするためには、ConsoleApplication1プロジェクトをソリューションエクスプローラーから右クリックし、追加(d)-既存の項目(G)
を押してtest.cpp
を選択する必要があります。
実行プロジェクトの選択
後は二つのプロジェクトをビルドし、実行するだけですが今回の場合実行するプロジェクトを指定する必要があります。
指定するダイアログを開くには、ソリューションエクスプローラーのソリューションを右クリックし、スタートアッププロジェクトの設定(A)
をクリックします。
すると下の画像のようなダイアログが開きますので、シングルスタートアッププロジェクト(S)
の下にある値を変更してください。(今回の例であれば、ConsoleApplication1
に変更します。)
Ctrl+F5
を押し6
と書かれたコマンドプロンプトが表示されれば、成功です。
次回予告
次回は、Visual Studioでデバックを行う方法を紹介します。
7月3日に更新する予定です。