2009-11-20 74 views
2

在Visual Studio 2008中,我正在做一個相當大的(我認爲 - 是32個項目大?)多項目'解決方案'。因爲它是一個遺留系統,所以代碼主要是C < gasp! >,雖然我認爲這與我的問題密切相關。我注意到我的瀏覽信息 - VS設備,它允許我們去一個宏,函數,變量的「去定義」和「去聲明」等 - 沒有被更新。我會嘗試'去定義'的東西,並且IDE會告訴我「符號''沒有定義',或者如果它是我移動的東西,會去正確的文件但錯誤的點。爲什麼Visual Studio 2008中的瀏覽信息不再更新?

我試着建立瀏覽信息解決方案中的所有項目,但沒有幫助。然後我讀了MSDN我應該不是是這樣做的,而應該,而應該,所有項目建成後,運行BSCMAKE與所有的.sbr文件作爲輸入。 (我相信,但我不知道,當文件被編譯的文件.SBR自動進行。)

我猜測它的這一步,(運行BSCMAKE與所有.SBR文件的)這並沒有發生,但我不知道在哪裏可以找到該設置,如果有的話,該設置控制整個解決方案(而不是一次一個項目)。

是否有一些其他文件(比.bsc)VS獲取此信息? (換句話說,我是否完全吠叫了錯誤的樹)?

回答

4

您是否嘗試刪除位於解決方案文件(.sln)旁邊的IntelliSense文件(.ncb)?因爲.ncb文件可能已損壞。你可以閱讀更多的問題here

大多數情況下,當你得到「符號未定義」,因爲源文件缺少#include。確保它存在並且可以打開它。

此外,定義和宏可以讓IntelliSense搞砸。你的代碼最近有什麼變化?

根據我的理解,沒有激活BSCMAKE的設置。編譯完成後,您需要調用該命令。

+1

我刪除了。ncb文件和(在讓Intellisense重建它一段時間之後)改變後的符號是可導航的。謝謝! – 2009-12-03 18:49:38

+0

瀏覽信息可以在每個項目的基礎上禁用。 – Garen 2012-06-06 00:10:15

1

既然你遷移從VS2005項目和.ncb文件包含的信息項目有關 各種變量,我建議你嘗試刪除.ncb文件,然後重新生成 項目在VS2008或VS2010。

上面試過之後,如果不是固定的,也試試這個。

我們可以定義以下格式的函數。

類型:1

func(int i, char c) 

{ 
..... 
.... 
..... 
} 

類型:2

func(i, char c) 

int i; 

char c; 

{ 
..... 
.... 
..... 
} 

如果這樣定義2類型,然後按上一個變量F12鍵(去decelearation),它不會 工作。請改變類型1,然後嘗試。它會正常工作。

相關問題