2010-11-08 87 views
-2

我的visual studio-08 build有問題。一些靜態對象沒有得到實例化。它的奇怪,我有幾個文件創建類似的靜態對象。有些創造了一些不是。當我試圖在未創建的對象的文件中斷點時,我的斷點被禁用。visual studio build中的靜態對象

我如何確保所有靜態對象都被創建。

謝謝, Abhinay。

+0

不知道,除非你發佈了一些演示問題的示例代碼。 – 2010-11-09 00:49:03

+0

@Oli:度假時的心理調試器,是嗎? – 2010-11-09 04:50:13

回答

1

這些文件是直接在您的主項目中,還是在靜態庫中?當你創建一個靜態庫時,鏈接器只會從某些使用的目標文件中抽取全局變量(並調用它們的構造函數)。

如果您確實有靜態庫,則必須確保每個文件都由主程序調用的函數使用。取得該文件中某個全局變量的地址是實現此目的的一種方法。

+0

這些文件在靜態庫中。在主項目中添加引用可以修復它。謝謝Ben。 – 2010-11-09 14:51:48

0

你有幾個項目副本?如果這樣做,請轉到您的主項目文件夾,刪除與「智能感知」相關的文件,然後重新加載項目。這應該工作。

+0

Intellisense和Intellisense數據庫中的.ncb文件根本不影響編譯過程。他們可能會混淆調試器,但不是程序的運行時行爲。 – 2010-11-09 04:48:10

+0

我在想這可能是斷點不工作的原因,因爲它們指向相同的文件但路徑不同。當項目被複制到另一個路徑並且在加載項目時使用相同的.ncb文件時,會發生這種情況。 :) – Owen 2010-11-09 09:01:27