手順
[1] ソリューションを右クリックし、[追加]-[新しいプロジェクト]-[Win32]-[Win32 コンソール アプリケーション]を選択
[2] 「アプリケーションの種類:スタティック ライブラリ」、「追加のオプション:プリコンパイル済みヘッダー」を選択し、「完了」
[3] 以下のサンプルのようにソースを作成する
[4] クラス使用する側のプロジェクト(例だと「SampleHelloWorldプロジェクト」)を右クリックし、
[プロパティ]-[C/C++]-[全般]-[追加のインクルード ディレクトリ]に
使用される側のクラスが定義されているヘッダーファイルまでのパスを設定(例「..\Messager」)
[5] クラス使用する側のプロジェクト(例だと「SampleHelloWorldプロジェクト」)を右クリックし、
[プロパティ]-[リンカ]-[全般]-[追加のインクルード ディレクトリ]に
使用される側のクラスが定義されているヘッダーファイルまでのパスを設定(例「..\Messager」)
サンプル
SampleHelloWorldプロジェクト(クラス使用する側)
hello.cpp
#include <iostream>
#include <string>
#include "stdafx.h" // ★クラスが宣言されているヘッダーファイルをインクルード★
int main(int argc, char* argv[]) {
try {
char input[100];
// ★使用するクラス★
Greeting* greeting = new Greeting();
string hello = greeting->GetHelloWorld();
std::cout << hello << std::endl;
scanf("%s", input);
}
catch (...) {
std::cerr << "Error!" << std::endl;
std::exit(-1);
}
return 0;
}
Messagerプロジェクト(クラス使用される側)
stdafx.h
// stdafx.h : 標準のシステム インクルード ファイルのインクルード ファイル、または
// 参照回数が多く、かつあまり変更されない、プロジェクト専用のインクルード ファイル
// を記述します。
//
#pragma once
#include "targetver.h"
#include <string>
#define WIN32_LEAN_AND_MEAN // Windows ヘッダーから使用されていない部分を除外します。
#include <string>
using namespace std;
// TODO: プログラムに必要な追加ヘッダーをここで参照してください。
// ★ここに、クラス宣言★
class Greeting {
public:
Greeting();
string GetHelloWorld();
};
Greeting.cpp
#include "stdafx.h"
#include <cstdio>
#include <string.h>
using namespace std;
// コンストラクタ
Greeting::Greeting() {
}
string Greeting::GetHelloWorld() {
return "Hello World!!!";
}