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

Posted

技术标签:

【中文标题】Visual Studio 2010 C++,无法打开包含文件:“afxwin.h”、“TCHAR.H”和“cassert”【英文标题】:Visual Studio 2010 C++, Cannot open include file: 'afxwin.h', 'TCHAR.H', and 'cassert' 【发布时间】:2012-05-02 11:48:59 【问题描述】:

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

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

我google了一下,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++ 目录,“包含目录”是“$(VCInstallDir)include;$(VCInstallDir)atlmfc\include;$(FrameworkSDKDir)\include;$(WindowsSdkDir)include”。

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

【问题讨论】:

您是否检查过文件是否已添加到您的项目中? 在我看来,您在旧式目录管理器中设置了一些路径,但它们没有出现在新版本中,也没有包含在项目目录设置中。检查两者以查看缺少的内容。 我也手动将头文件的这些目录添加到 C/C++ => General 下的“其他包含目录”中,并得到了解决方法。我认为我的 VS 安装可能在一开始就搞砸了。 这听起来像INCLUDE 环境变量,以及Visual C++ 中的相应设置,搞砸了。安装目录是否移动到不同的驱动器/路径? 【参考方案1】:

属性资源管理器是您想要查看的位置。 Afxwin.h 在 ..\atlmfc\include 中,tchar.h 和 cassert 在 ..\include 中,您认为这将是一个全局类型的属性,但事实证明它并不是那么简单。这是我从 2008 年升级时遇到的最大问题。这不再是应用程序选项,而是用户属性。

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

【讨论】:

以上是关于Visual Studio 2010 C++,无法打开包含文件:“afxwin.h”、“TCHAR.H”和“cassert”的主要内容,如果未能解决你的问题,请参考以下文章

C++ Visual Studio Express 2010 无法启动程序错误

无法使用 Visual Studio 2010 调试 C++ BHO DLL

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

DLL 锁定 - Visual Studio 2010 C++

如何将项目从 Visual C++ 6.0 转换为 Visual Studio Express 2010?

尝试使用 Visual Studio 2010 调试 dll (C++) 时出现错误消息