雷って幻想的だよね?

宗教:C#、ラノベ好きの戯言です。※Google Analytics 埋め込みを利用しています。

Debug用のライブラリ作ってみるテスト

参考:
http://msdn.microsoft.com/ja-jp/library/ms235627(v=vs.100).aspx
http://www.c3.club.kyutech.ac.jp/gamewiki/index.php?%A5%E9%A5%A4%A5%D6%A5%E9%A5%EA%A4%F2%BA%EE%A4%ED%A4%A6

さて、作っていきましょう。
.lib を作成するプロジェクトを便宜上 デバッグプロジェクト
.lib を実際に利用するプロジェクトを便宜上 実行プロジェクト
とします。
※VS2010での利用を前提としています。

デバッグメッセージ出力のデバッグプロジェクトを作成します。

新規作成→コンソール→スタティックライブラリ(他のチェックは外す)
適当に .h .cpp を作成

ライブラリを汎用利用するためのフォルダを生成しそこにため込むことにします。

デバッグプロジェクトを右クリック
→プロパティ
→全般
	→出力ディレクトリ
		→保存するフォルダへのパス(例:C:\Mylib\)
	→ターゲット名
		→.libの名前(例:DebugLog)
→ビルドイベント
	→ビルド後イベント
		→コマンドライン
			→「COPY $(ProjectDir)\*.h $(OutDir)\*.h」を追加する
→C/C++
	→コード生成
		→ランタイムライブラリ(忘れると error LNK2005 が起こる)
			→(Debug)/MTd
			→(Release)/MT
コレをDebugとRelease両方で設定する

次に、実行プロジェクトを作成します。

新規作成→コンソール→空のプロジェクト
→mian.cppを作成
	→ #include "(さっき作った.hファイル)"
	→ #pragma comment (lib, "(作ったライブラリ名)")
→ソリューションを右クリック
 →追加
→さっき作ったプロジェクトのフォルダ内の「*.vcxproj」を選択

includeの例

#include "DebugLog.h"
#ifdef _DEBUG
#pragma comment (lib, "DebugLog_debug.lib") //デバッグ時
#else
#pragma comment (lib, "DebugLog_release.lib") //リリース時
#endif


依存関係の設定を行います。

実行プロジェクトを右クリック
→プロジェクトの依存関係 をクリック
→デバッグプロジェクトの名前の横のチェックボックスをチェック

ディレクトリの設定をします。

実行プロジェクトを右クリック
→プロパティ
→VC++ディレクトリ
→インクルードディレクトリ
	→ライブラリを保存したフォルダ(例:C:\Mylib\)
→ライブラリディレクトリ
	→ライブラリを保存したフォルダ(例:C:\Mylib\)

以上で完了です。
素晴らしいライブラリ生活を!