2011-08-06 33 views
8

有時VS汽車/當地人/手錶打破和替代變量/值的所有我擁有的是不同類型的:如何修復Visual Studio的當地人/手錶++(調試版本)

CXX0029: Error: not struct pointer 
CXX0033: Error: error in OMF type information 
CXX0072: Error: type information missing or unknown 
CXX0025: Error: operator needs class/struct/union 

重建項目,清潔PDB/NCB等沒有解決它。我能做什麼?

+0

優秀的問題!可悲的是,你沒有得到任何票,但! –

回答

3

看這個微軟支持注:FIX: CXX0033 Error in OMF Type from Forward Class Declaration

一旦固定在支架注引的PCH的問題,我覺得所有的錯誤都將消失。

+0

根據知識庫文章,_此問題已修復在Microsoft Visual C++,32位版本,版本4.0_中。但是,關閉預編譯頭文件確實有幫助。編譯時間現在非常糟糕,但至少我可以調試我的代碼。謝謝! – John

0

你試圖調試「發佈」構建?如果是這樣,許多本地變量不會作爲「可調試」元素存在。你可以通過在程序集級調試來查看這個(如果你必須調試發佈版本)並查看寄存器值(與堆棧值,其中auto/local將在調試版本中),並在「觀看窗口「。

否則,構建Debug版本並調試構建版本。在不滿足前提條件的情況下,將相關/不相關的東西轉儲到輸出窗口,以及更直接的調試單步執行。

+0

我正在談論調試版本。 – John

1

實際上有一個解決方案可以讓你繼續使用預編譯頭文件:檢查這個more recent KB articledocumentation of the /Yl switch - 這看起來是專門針對這個錯誤。

只需添加到stdafx.cpp(或您自己的自定義/ Yc文件)命令行'/ Ylxxxx',其中xxxx代表lib中的任意函數名稱。

我最近遇到的症狀與你的相同(在VS2010中),並且爲我解決了這個問題。

相關問題