2012-04-20 492 views
6

我是新來的VS2010,並試圖編譯一個有史以來在VS2008工作的項目。錯誤看起來很簡單:Visual Studio 2010 C++,無法打開包含文件:'afxwin.h','TCHAR.H'和'cassert'

stdafx.h中(43):致命錯誤C1083:無法打開包含文件: 'afxwin.h':沒有這樣的文件或目錄 stdstring.h(619):致命錯誤C1083:無法打開包括文件:「TCHAR.H」:沒有這樣的文件或目錄 threads.h(52):致命錯誤C1083:無法打開包含文件:「了cassert」:沒有這樣的文件或目錄

我一派,這種類型的錯誤通常發生在VS2010 Express版本中,但我使用的是VS2010專業版。我檢查過,所有這些丟失的文件都在正確的位置。 C:\ Program Files文件(x86)的\微軟的Visual Studio 10.0 \ VC \ atlmfc \ include和 C:\ Program Files文件(x86)的\微軟的Visual Studio 10.0 \ VC \包括

的事情是,其他頭文件在stdafx.h中與afxwin.h位於相同的目錄,但沒有被抱怨。

我還檢查了物業經理的VC++目錄和 「包含目錄」 是 「$(VCInstallDir)包括:$(VCInstallDir)atlmfc \包括; $(FrameworkSDKDir)\包括; $(WindowsSdkDir)包括」。

還有什麼,我忘了檢查?非常感謝您的幫助。

+0

您是否檢查過這些文件是否已添加到您的項目中? – Trisped 2012-04-20 21:41:43

+0

這聽起來像你在舊式目錄管理器中設置了一些路徑,他們沒有進入新版本,也沒有包含在項目目錄設置中。檢查兩個看看有什麼缺失。 – Robinson 2012-04-20 23:19:43

+2

我手動將這些頭文件的目錄添加到C/C++ => General下的「其他包含目錄」中,並得到了一個解決方法。我認爲我的VS安裝可能在一開始就被搞砸了。 – mile 2012-05-01 21:29:15

回答

1

屬性資源管理器是你想要看的地方。 Afxwin.h在.. \ atlmfc \ include中,tchar.h和cassert在.. \ include中,你會認爲它是全局類型的屬性,但事實證明它並不那麼簡單。這是我從2008年開始升級時遇到的最大問題。這不再是應用程序選項,而是用戶屬性。

在你開始改變事物之前,先看一下屬性瀏覽器並閱讀MSBuild文檔,因爲儘管新格式更加強大和靈活,但它並沒有優雅地從舊格式升級。

相關問題