2014-07-17 48 views
0

我目前遇到了一個讓我有點生氣的問題。我希望這是我的一個小愚蠢的錯誤。VS2010通過環境變量找不到#include

爲方便起見,我在Windows 7中添加了一個環境變量VS_BOOST_INCLUDE_HEADER,其值設置爲D:\01_Programs\boost_1_55_0\。我的VC C++包含目錄包含$(VS_BOOST_INCLUDE_HEADER)

備註:今天早上我改變了這個變量,但是我重新啓動了我的電腦,因爲它已經多次重啓了。

現在我的VS項目抱怨說找不到任何助力包括,例如, <boost/asio.hpp>。如果我手動將全路徑添加到包含路徑(將D:\01_Programs\boost_1_55_0\作爲文本添加到我的VC C++包含目錄中),則一切都按預期工作。

爲了避免簡單的拼寫錯誤,我添加了一個生成後事件:

echo $(VS_BOOST_INCLUDE_HEADER) 

如預期那樣工作:

1>PostBuildEvent: 
1> D:\01_Programs\boost_1_55_0\ 

我所有的其他環境變量仍然如預期,即使是那些今天上午也重新命名了。

任何想法?

我在做什麼錯?

+0

您是否認爲build-settings可能不支持環境變量替換? –

+0

感謝您的回覆。但是如果這是這種情況,爲什麼昨天工作?爲什麼我的VC++目錄中的所有其他環境變量仍然有效? – Blutkoete

+1

您可能想要爲項目使用公共屬性表並僅使用它。 – doctorlove

回答

0

也許我遲到了,但一個可能的情況是,當你

  • 運行VS管理員
  • 調整用戶環境變量

然後它將使某種意義上VS只能看到系統環境,仍然使用舊值。

0

如果你決定使用屬性表的MSDN有明確docs

「如果你有一個共同的,經常使用的設置要 應用到多個項目的屬性,你可以使用物業經理捕獲 他們在一個可重複使用的屬性表文件中「

在視圖菜單下,選擇屬性管理器並添加一個新工作表。 然後,您可以使您的項目從此屬性表繼承其設置,因此只需在一個位置設置它。