ふにゃるんv2

もとは、http://d.hatena.ne.jp/Wacky/

VC++ 2008で、プロジェクトのみに適用する環境変数を設

唐突ですが、久しぶりに、Visual C++を持ち出してビルドしていました。
いや、用意されたSDKが、C/C++環境でないとビルド出来ないようになってまして、しょうがなしに なんですけどね。
(最近は、ちょびちょび改良するなら Python。それ以外なら C# のどちらかに なってきています)


SDKに用意されていたサンプルが、バッチ+makeビルドでして。
何度もコマンドプロンプトを開いて→コマンドを打ち込んでEnterの繰り返し作業に段々飽きてきまして、Visual C++ 2008上でビルド出来ないかな?と思った訳です。
(まぁ、オートコンプリート使いたいというのもあります)

問題

で、Visual C++ 2008上でプロジェクトを作って、設定内容を移植していて気付いたんですが、使用するSDK特有の環境変数を、どのようにすれば持って来れるんだろう?という事です。


プロジェクトのプロパティ設定で、環境変数の設定欄は特に見当たらないし、ビルド前イベントから SET コマンドを使って設定を掛けてみたんですが、どうも うまく行かない。


で、他の方々はどうしているんだろう?と、ぐぐって見たんですが、システム→プロパティの環境変数に設定するのが ちらほら出てくるのみ。
これだと、全システムに影響するので、今一しっくり来ないんですね。


プロジェクト単位に設定する方法があるんじゃないか?とMSDN Libraryを眺め回していました。

設定方法

で、答えですが、ちゃんとプロジェクト単位に環境変数を設定する方法はあります。

早速ですが、(自分用メモとして)画面付きで紹介します。

  1. 「表示」→「その他のウィンドウ」→「プロパティ マネージャ」で、プロパティマネージャを開く。
    1
    1 posted by (C)wacky
  2. プロパティマネージャ上で右クリック→「新しいプロジェクト プロパティシートの追加」を選ぶ。
    2
    2 posted by (C)wacky
  3. 適当な名前で、プロパティシートファイル(vsprops)を作る。
    3
    3 posted by (C)wacky
  4. プロジェクトにプロパティシートに対して(ここでは、myprop)、マウスでダブルクリックする。
    4
    4 posted by (C)wacky
  5. プロパティシートエディタが開くので、「共通のプロパティ」→「ユーザーマクロ」を選択し、「マクロの追加」ボタンを押す。
    5
    5 posted by (C)wacky
  6. ここで、追加したい環境変数名を「名前」欄に、環境変数値を「値」欄に、「ビルド環境でこのマクロを環境変数に設定する」にチェックを入れる。
    6
    6 posted by (C)wacky
  7. これで環境変数(マクロ)が追加される。
    7
    7 posted by (C)wacky
  8. 後は、「$(環境変数名)」という形で利用すればOK。
    例えば、下図は追加のインクルードディレクトリの設定に、追加した環境変数を参照に使っている。(「%環境変数名%」では無い事に注意しましょう)
    8
    8 posted by (C)wacky


いかがでしょうか?
判ってみれば、大した事は無かったんですが、これに至るまで暫く悩んでいました。(何で、SET コマンドの環境変数設定が反映されないんだ?)