Visual Studio 2010 C++,无法打开包含文件:'afxwin.h','TCHAR.H'和'cassert'

mil*_*ile 6 c++ visual-studio-2010 visual-studio visual-c++

我是VS2010的新手,并试图编译一个曾在VS2008中工作过的项目.错误看起来很简单:

stdafx.h(43):致命错误C1083:无法打开包含文件:'afxwin.h':没有这样的文件或目录stdstring.h(619):致命错误C1083:无法打开包含文件:'TCHAR.H':否这样的文件或目录threads.h(52):致命错误C1083:无法打开包含文件:'cassert':没有这样的文件或目录

我用谷歌搜索,这种类型的错误经常出现在VS2010 Express版本中,但我使用的是VS2010专业版.我已经检查过,所有这些丢失的文件都在正确的位置.C:\ Program Files(x86)\ Microsoft Visual Studio 10.0\VC\atlmfc\include和C:\ Program Files(x86)\ Microsoft Visual Studio 10.0\VC\include

问题是,stdafx.h中的其他头文件与afxwin.h位于同一目录但没有得到抱怨.

我还检查了属性管理器的VC++目录,"Include Directories"是"$(VCInstallDir)include; $(VCInstallDir)atlmfc\include; $(FrameworkSDKDir)\ include; $(WindowsSdkDir)include".

还有什么我忘记检查的吗?非常感谢您的帮助.

Ben*_*mer 1

属性浏览器是您想要查看的地方。Afxwin.h 位于 ..\atlmfc\include 中,tchar.h 和 cassert 位于 ..\include 中,您可能认为这是一个全局类型属性,但事实证明它并不那么简单。这是我从 2008 年升级以来遇到的最大问题。这不再是一个应用程序选项,而是一个用户属性。

在开始更改之前,请查看属性资源管理器并阅读 MSBuild 文档,因为虽然新格式更强大、更灵活,但它无法从旧格式优雅地升级。