2

Ogre3Dアプリケーションをセットアップしようとして、「OGRE_HOME」システム変数をSDKのホームディレクトリに設定しました。$(OGRE_HOME)次に、システム変数を使用して、プロジェクトプロパティにディレクトリを含めるなどのプロジェクトプロパティを設定します。しかし、アプリケーションをコンパイルしようとすると、コンパイラーがヘッダーファイルを見つけられなかったため、プロジェクトプロパティへのSDKパスを「ハードコーディング」する必要がありました。

最初にsetxコマンドで変数を設定し、次にそれをシステム変数に移動しようとしましたが、役に立ちませんでした。ただし、システムを再起動しようとしませんでした。

4

1 に答える 1

4

MSBuild環境変数を拡張します。$(OGRE_HOME)正常に動作するはずです。

唯一の問題は、Visual Studioがこれらの環境変数の値を大量にキャッシュするため、行った変更がすぐに反映されないことです。

環境変数の値を変更する一般的な方法は2つあり、どちらもVSではうまくいきません。

  • コマンドラインから値を変更すると、コマンドラインから起動されたアプリケーションにのみ影響します。おそらくエクスプローラーを介してショートカットからVSを起動しているため、新しい値を継承しません。

  • そのダイアログは永続的な環境変数が変更されたことを示すグローバルメッセージをブロードキャストするため、コンピュータのプロパティを使用して値を変更すると、通常は機能するはずです。残念ながら、VSはこれらのメッセージをリッスンしてキャッシュを更新していないようです。

ただし、再起動(またはログオフして再度オン)すると問題が解決するはずです。これにより、VSが環境変数の値を更新するためです。

また、ユーザーマクロが環境変​​数の代わりになることにも注意してください。VS 2010は、プロパティマネージャーを介してこれらを実装する非常に堅牢な方法を提供します。設定を使用してプロジェクトプロパティシートを作成し、複数のプロジェクトに添付して、すべてのプロジェクトがこれらの設定を継承するようにすることができます。VSの外部では機能しませんが、すべての開発作業をVSの外で行うと非常に便利です。

于 2012-08-02T05:57:31.113 に答える