Visual Studioはマクロ(≒環境変数)を使用してビルドを行います. このマクロのうち重要そうなものをピックアップしました. バージョンはVS2017を対象にしていますが、最近のVSであれば大きく変わることはないはず.
相対パスで書かれたものは $(ProjectDir) を基準にする様子.
マクロ | 具体例 | 説明 |
---|---|---|
$(CharacterSet) | Unicode | 使用する文字セット |
$(CLRSupport) | true/false | マネージドコードかどうか |
$(ComSpec) | C:\WINDOWS\system32\cmd.exe | 使用するシェル |
$(Configuration) | Debug | 現在のプロジェクト構成の名前 |
$(ConfigurationType) | Application | プロジェクトの生成物の種別を表す |
$(DevEnvDir) | C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\IDE\ | Visual Studioのインストールディレクトリ |
$(ExtensionsToDeleteOnClean) | .obj;.pdb;(略) | プロジェクトのクリーン時に削除するファイル |
$(IncludePath) | C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.16.27023\include;(略) | コンパイル時にヘッダファイルを検索するフォルダ |
$(IntDir) | Debug\ | 中間ファイルの出力ディレクトリ. $(IntermediateOutputPath)のエイリアス? |
$(LibraryPath) | C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.16.27023\lib;(略) | リンク時にオブジェクトを検索するフォルダ |
$(OutDir) | C:\Users\User_name\source\repos\Solution_name\Debug | 生成物の出力先 |
$(OutputPath) | C:\Users\User_name\source\repos\Solution_name\Debug | $(OutDir)との違いが不明 |
$(Platform) | Win32 | 現在のプロジェクトプラットフォームの名前 |
$(PlatformShortName) | x86 | 現在のアーキテクチャの短い名前 |
$(ProjectDir) | C:\Users\User_name\source\repos\Solution_name\Debug\Project_name\ | プロジェクトのディレクトリ |
$(ProjectGuid) | AAAAAAAA-BBBB-CCCC-DDDD-EEEEEEEEEEEE | プロジェクトのGUID |
$(ProjectName) | Project_name | プロジェクトの名前 |
$(SolutionDir) | C:\Users\User_name\source\repos\Solution_name\ | ソリューションのディレクトリ |
$(SolutionName) | Solution_name | ソリューションの名前 |
$(TargetDir) | C:\Users\User_name\source\repos\Solution_name\Debug\ | ビルドのプライマリ出力ファイルのディレクトリ |
$(TargetExt) | .exe | ビルドのプライマリ出力ファイルの拡張子 |
$(TargetFileName) | Project_name.exe | ビルドのプライマリ出力ファイルの名前(拡張子付き) |
$(TargetName) | Project_name | ビルドのプライマリ出力ファイルの名前(拡張子なし) |
$(TargetPath) | C:\Users\User_name\source\repos\Solution_name\Debug\Project_name.exe | ビルドのプライマリ出力ファイルの絶対パス |
$(TLogLocation) | Debug\MapTest.tlog\ | tlogファイルの出力ディレクトリ. |
$(windir) | C:\WINDOWS | システムのフォルダ |