2011-07-12 23 views
1

Visual Studioのプロパティシートを使用して、プロジェクトファイルが格納されているディレクトリを指定することはできますか?Visual C++プロパティシートは、プロジェクトの場所を参照できますか?

共通のディレクトリに複数のプロジェクトを含むソリューションファイルがあります。たとえば、そのディレクトリ名を変更する場合は、ソリューション内の各プロジェクトのプロジェクトパスを変更する必要があります。プロパティシートを使用して最上位ディレクトリの名前を指定できる場合は、ディレクトリ名を変更する必要がある場合は、そのディレクトリを更新するだけです。 (とりわけ)ユーザーが定義することができますプロパティシートで


このプロパティシートを使用して、ソリューション内の任意のプロジェクトで使用されるディレクトリを含めます。これにより、複数のプロジェクトにまたがってインクルードディレクトリを同時に変更することが簡単になります。すべてのプロジェクトで使用できるマクロを追加することもできます。

本質的には、プロパティシート(または他のもの)を使用して、プロジェクトのパスを変数にするソリューションにマクロを指定する方法があるかどうかを知りたいと思います。

私はいくつかのソリューションの一部であるバージョンv1.0のプロジェクトを持っている状況を想像してみてください。 v1.1にアップグレードしたいので、ヘッダファイルと出力ライブラリファイルのインクルードディレクトリを再定義するために、プロパティシートマクロを使用します。

C:\myproject\somelibrary\v1.0\some_project.proj
C:\myproject\somelibrary\v1.1\some_project.proj

$(LibraryPathは)私のプロパティシートでV1.1にv1.0のから変更することができます。

これは、同じプロパティシートをすべて参照する多くのソリューションがあれば、これで自分の人生が楽になります。しかし、各ソリューションで古いv1.0プロジェクトファイルを削除し、新しいv1.1プロジェクトファイルを追加する必要もあります。

1つの場所で複数のソリューションのプロジェクトのパスを変更できるように、マクロなどを定義する方法はありますか?プロパティシートはおそらくソリューションレベルではなくプロジェクトレベルで追加されているので機能しませんので、私は類似したものを探しています。

+0

あなたの質問はやや不明です。あなたは、生成されているプロジェクトの出力を意味するか、参照によってパスを設定する必要がありますか? – Ajay

+0

私は参照のパスを意味しました。言い換えれば、ソリューションに複数のプロジェクトがある場合は、プロパティシートにプロジェクトのパスを設定して、ソリューション内の別のプロジェクトを簡単に切り替えることができますプロパティシートの変数。 – Cruiser

+0

私は恐れていますが、あなたの問題は依然として理解できません。 – Ajay

答えて

0

これはプロパティシートでは実行できません。 .slnファイルは、.vcproj(または他のプロジェクトファイルタイプ)ファイルを参照します。そして、プロジェクトファイルは順番にプロパティシートを参照します。だから、Visual Studioは何とかプロパティシートを見つけて、戻ってプロジェクトファイルをロードしなければなりません。

あなたがしようとしているものを簡単に解決するには、テキストエディタで.slnを開き、find/replaceを使用してプロジェクトファイルへのパスを変更します。 File-> Open-> File ...を使用してVisual Studio自体を使用し、通常の開くボタンの代わりに「Open With ...」ボタンをクリックすることもできます。私はVisual Studio 2010についてはわかりませんが、2005年と2008年には、 "Open with ..."ボタンを開くために、開いているボタンの下矢印をクリックする必要があります。次に、XMLエディタまたはソースコードエディタを選択できます。変更が終わったら、.slnファイルを保存して閉じ、通常の方法で開きます。

+0

テキスト検索を行い、.slnで置き換えたり、GUIから手作業で追加/削除したりする以外は、私が望むことを達成するための他の方法は見つかっていないので、おそらく答えとしてマークするつもりです。 誰かがより良いやり方をしているかどうかを確認するには、ちょっと時間をかけます。 – Cruiser

0

私は、ソリューションファイルを編集してパスのセクションを置き換えるために、スクリプトを作成することができます(C++、pythonはosやファイルベースのタスクに面白いです)。

環境変数を使用して、もっと簡単にすることもできます...

関連する問題