11

我想爲我設置的項目包括對路徑%OPENCV_246%\..\..\include環境變量2013

這解決的路徑F:\dev\opencv_246\build\include

然而,當設置項目包括,這條道路不會解決和結果包含的頭文件中斷。

我試過%OPENCV_246%\..\..\include$(OPENCV_246)\..\..\include,沒有運氣。

使用路徑直接修復我的包含,但我想有一個更好的方式來管理通過環境變量的路徑。

爲了清晰起見,我添加了截圖,如果有人能指出我在這裏失蹤的步驟,我會很感激。

編輯:變量OPENCV_246包含值F:\dev\opencv_246\build\x86\vc11

screenshot

+1

在項目輸出目錄中查找文件your_program_name.log。它包含完整的構建日誌和編譯器命令行參數。你可以看到那裏,宏如何擴展,並理解問題是什麼。 –

+1

使用$(OPENCV_246)是引用環境變量的正確方法。當你不記錄變量實際包含的內容時是不可讀的。 –

+0

重新啓動我的機器並使用完整路徑構建,切換回似乎正在工作的'OPENCV_246'環境變量。我測試了添加一個新的環境變量'OPENCV_TEST',它指向相同的路徑,這也是有效的。我不確定是什麼導致了這種行爲。 – LCartwright

回答

3

這聽起來類似我的問題,這是越來越VS2013承認改變我對環境變量做(在我的情況QTDIR)。即使在重啓和關機之後,它仍然頑固地固守舊的價值! (你可以看到如果你去編輯項目設置的值,點擊「宏」按鈕,並向下滾動列表以找到例如「$(QTDIR)」)

Here它建議VS2010重視值,但2013年似乎更加熱衷!

在舊路徑的一些FindInFiles之後,似乎VS2013緩存了.vcxproj.user文件中的環境變量。我不知道它是如何進入那裏的。

所以我刪除了條目,關閉瞭解決方案,再次在寫字板中檢查文件,以確保條目沒有被放回。然後我重新打開解決方案,但舊值爲仍然那裏在宏列表中!

關閉VS似乎已經做到了。現在它似乎有正確的道路 - 雖然我確信我在我第一次打開解決方案後進行了檢查,並且QTDIR根本不在宏列表中 - 也許我很困惑...

好吧,這一切似乎現在工作,我的項目建立並鏈接到我的Qt庫沒有抱怨:-)

而且,vcxproj.user文件中的條目還沒有回來。所以我仍然不知道它是如何進入的。也許我做了一些事情,導致它在以前版本的VS中一段時間​​...