唐突ですが、久しぶりに、Visual C++を持ち出してビルドしていました。
いや、用意されたSDKが、C/C++環境でないとビルド出来ないようになってまして、しょうがなしに なんですけどね。
(最近は、ちょびちょび改良するなら Python。それ以外なら C# のどちらかに なってきています)
SDKに用意されていたサンプルが、バッチ+makeビルドでして。
何度もコマンドプロンプトを開いて→コマンドを打ち込んでEnterの繰り返し作業に段々飽きてきまして、Visual C++ 2008上でビルド出来ないかな?と思った訳です。
(まぁ、オートコンプリート使いたいというのもあります)
問題
で、Visual C++ 2008上でプロジェクトを作って、設定内容を移植していて気付いたんですが、使用するSDK特有の環境変数を、どのようにすれば持って来れるんだろう?という事です。
プロジェクトのプロパティ設定で、環境変数の設定欄は特に見当たらないし、ビルド前イベントから SET コマンドを使って設定を掛けてみたんですが、どうも うまく行かない。
で、他の方々はどうしているんだろう?と、ぐぐって見たんですが、システム→プロパティの環境変数に設定するのが ちらほら出てくるのみ。
これだと、全システムに影響するので、今一しっくり来ないんですね。
プロジェクト単位に設定する方法があるんじゃないか?とMSDN Libraryを眺め回していました。
設定方法
で、答えですが、ちゃんとプロジェクト単位に環境変数を設定する方法はあります。
- [ユーザー マクロの追加] ダイアログ ボックス
http://msdn.microsoft.com/ja-jp/library/a2zdt10t(VS.80).aspx
早速ですが、(自分用メモとして)画面付きで紹介します。
- 「表示」→「その他のウィンドウ」→「プロパティ マネージャ」で、プロパティマネージャを開く。
1 posted by (C)wacky - プロパティマネージャ上で右クリック→「新しいプロジェクト プロパティシートの追加」を選ぶ。
2 posted by (C)wacky - 適当な名前で、プロパティシートファイル(vsprops)を作る。
3 posted by (C)wacky - プロジェクトにプロパティシートに対して(ここでは、myprop)、マウスでダブルクリックする。
4 posted by (C)wacky - プロパティシートエディタが開くので、「共通のプロパティ」→「ユーザーマクロ」を選択し、「マクロの追加」ボタンを押す。
5 posted by (C)wacky - ここで、追加したい環境変数名を「名前」欄に、環境変数値を「値」欄に、「ビルド環境でこのマクロを環境変数に設定する」にチェックを入れる。
6 posted by (C)wacky - これで環境変数(マクロ)が追加される。
7 posted by (C)wacky - 後は、「$(環境変数名)」という形で利用すればOK。
例えば、下図は追加のインクルードディレクトリの設定に、追加した環境変数を参照に使っている。(「%環境変数名%」では無い事に注意しましょう)
8 posted by (C)wacky
いかがでしょうか?
判ってみれば、大した事は無かったんですが、これに至るまで暫く悩んでいました。(何で、SET コマンドの環境変数設定が反映されないんだ?)