ライブラリの出力名を変える。

ライブラリの出力ファイル名を

MyLibrary_x86_Debug.lib

ていう感じにしたい。
更に、↓の感じのディレクトリ構成にしたい。

MyLibrary
	MyLibrary.sln
	MyLibrary
		MyLibrary.vcxproj
lib
	MyLibrary_x86_Debug.lib
	MyLibrary_x64_Debug.lib
	MyLibrary_x86_Release.lib
	MyLibrary_x64_Release.lib

環境はVisual C++ 2010 Express。今回はライブラリ用。

構成プロパティ -> ライブラリアン -> 全般 -> 出力ファイル を変える。

2012/6/12追記:出力ファイルはターゲット名の変更だけでOK

$(SlotionDir)..\lib\$(SolutionName)_$(Platform)_$(Configuration).lib

こんだけでは以下の警告が出る。

warning MSB8012: TargetPath(〜\MyLibrary\Debug\MyLibrary.lib) が Library の OutputFile プロパティ値 (〜\lib\MyLibrary_Win32_Debug.lib) と一致しません。このため、プロジェクトが正常にビルドされない可能性があります。この問題を解決するには、$(OutDir)、$(TargetName)、および $(TargetExt) の各プロパティ値が、%(Lib.OutputFile) で指定されている値と一致することを確認してください。
warning MSB8012: TargetName(MyLibrary) が Library の OutputFile プロパティ値 (MyLibrary_Win32_Debug) と一致しません。このため、プロジェクトが正常にビルドされない可能性があります。この問題を解決するには、$(OutDir)、$(TargetName)、および $(TargetExt) の各プロパティ値が、%(Lib.OutputFile) で指定されている値と一致することを確認してください。

フルパスの部分は勘弁な。

構成プロパティ -> 全般

出力ディレクトリ を変える。
$(SolitionDir)..\lib\
ターゲット名 を変える。
$(SolutionName)_$(Platform)_$(Configuration)

これでOK。

ちなみに、出力ディレクトリや中間ディレクトリの末尾に「\」を付け忘れると以下の警告が出る。

warning MSB8004: Output ディレクトリの末尾がスラッシュではありません。Output ディレクトリが適切に評価されるようにするために、このビルド インスタンスによってスラッシュが追加されます。