web-dev-qa-db-ja.com

Visual Studio2013の環境変数

プロジェクトインクルードをパス_%OPENCV_246%\..\..\include_に設定しようとしています

これはパス_F:\dev\opencv_246\build\include_に解決されます

ただし、プロジェクトインクルードを設定すると、そのパスは解決されず、その結果、インクルードされたヘッダーが壊れます。

_%OPENCV_246%\..\..\include_と$(OPENCV_246)\..\..\includeの両方を試しましたが運がありませんでした。

パスを使用するとインクルードが直接修正されますが、環境変数を介してパスを管理するためのより良い方法が必要です。

わかりやすくするために両方を追加したスクリーンショットでは、ここで欠落しているステップを誰かが指摘できれば幸いです。

編集:変数_OPENCV_246_には値_F:\dev\opencv_246\build\x86\vc11_が含まれています

screenshot

11
LCartwright

Dev studioは、開始後に変更された環境変数を認識しないため、変更した場合は、(コンピューターではなく、Dev studioの)再起動が必要です。

https://superuser.com/questions/107521/why-are-changes-to-my-path-not-being-recognised

16
NickD

これは、環境変数(私の場合はQTDIR)に加えた変更をVS2013に認識させるという私の問題と同じように聞こえました。再起動とシャットダウンの後でも、それは執拗に古い値に固執しました!! (プロジェクト設定を編集し、[マクロ]ボタンを押し、リストを下にスクロールして、たとえば「$(QTDIR)」を見つけると、値が表示されます)

ここ VS2010の値を大きく示唆していますが、2013年はさらに熱心に見えます!

古いパスのいくつかのFindInFilesの後、VS2013は環境変数を.vcxproj.userファイルにキャッシュしているようです。そもそもどうやってそこに入ったのかわかりません。

そこで、エントリを削除し、ソリューションを閉じ、ワードパッドでファイルを再度チェックして、エントリが戻されていないことを確認しました。その後、ソリューションを再度開きましたが、古い値はでした。 )まだマクロリストにあります!

VSを閉じることでうまくいったようです。今では正しいパスを持っているようです-最初にソリューションを開いた後にチェックしたと確信していますが、QTDIRはマクロリストにまったく含まれていませんでした-多分私は混乱しています...

さて、それはすべて今機能しているようです、そして私のプロジェクトは文句なしに私のQtライブラリを構築してリンクします:-)

また、vcxproj.userファイルのエントリが返されていません。だから私はまだそれがどうやってそこに入ったのか分かりません。たぶん私はVSの前のバージョンでしばらく前にそれを引き起こすために何かをしました...

4
Timothy Pitt