使用 Visual C++ Express 2010 时找不到 atlbase.h
Posted
技术标签:
【中文标题】使用 Visual C++ Express 2010 时找不到 atlbase.h【英文标题】:atlbase.h not found when using Visual C++ Express 2010 【发布时间】:2011-02-10 11:36:03 【问题描述】:因此,我尝试将我的项目从 Windows XP 上的先前版本移至 Windows 7 上的 Visual C++ Express 2010。我在找不到 atlbase.h 的地方遇到了各种错误。这不是一个太大的问题,但我想记录下我的决议是为了其他人。
从我之前的安装中复制以下 PlatformSDK 文件并将它们放在我的 Windows 7 机器上。
PlatformSDK/include/atl
PlatformSDK/include/mfc
平台SDK/lib
PlatformSDK/src/atl
然后我将项目属性中的 VC++ 目录更改为指向这些目录。
包括目录-
*包含/atl
*包含/mfc
图书馆目录-
*库
源目录-
*src/atl
对 stdafx.h 进行更改
就在这一行之后:#include "atlbase.h"
添加这一行:extern CComModule _Module;
希望你现在准备好了!可能不会,但也许你一切顺利。
【问题讨论】:
“希望你现在已经准备好出发了!可能不会,但也许你已经在路上了。”哈哈?你以前的版本是什么? 【参考方案1】:ATL 和 MFC 未包含在 Visual Studio 的免费 Express 版本中。这是定位包含文件出现问题的主要原因。 ATL 仍然是 WDK 的一部分。如果您的 ATL 安装了以前版本的 VS 或 WDK,您需要分别进入项目设置更新您的包含目录,以便获取 ATL *.h 文件。有关更多详细信息和讨论,请参阅下面的帖子。
How to add WTL and ATL to visual studio c++ express 2008 Why were MFC, ATL and masm not included in VC++ Express? Please include ATL to VC++2010 Express or Windows SDK【讨论】:
【参考方案2】:这可能是因为您之前使用的版本是visual c++ 6.0,不支持它
【讨论】:
以前版本的 Visual C++ Express 2008 或 2009 我忘记了。 2010 年之前的最新版本【参考方案3】:ATM,好像不是免费的。
SDK v7.0 Samples -- no atlbase.h
【讨论】:
【参考方案4】:现在有一个受 ATL 启发的 Windows 运行时 WRL 库,它显然支持构建经典 COM 对象(请参阅http://msdn.microsoft.com/en-us/library/jj822931.aspx)。它包含在 Express 中,但我没有尝试过。
即使 ATL 7.1 在 WDK 7.1 中,设置起来也很烦人,所以请考虑投票将 ATL 带回 VS Express ;)https://visualstudio.uservoice.com/forums/121579-visual-studio/suggestions/3252947-add-atl-to-visual-studio-2010-express-for-desktop
【讨论】:
以上是关于使用 Visual C++ Express 2010 时找不到 atlbase.h的主要内容,如果未能解决你的问题,请参考以下文章
从 Visual C++ 6 迁移到 Visual C++ 2008 express
MFC 是不是仅适用于 Visual Studio,不适用于 Visual C++ Express?
microsoft visual c++6.0和micorostf visual c++ 2010 express有啥区别
我正在使用 MS Visual C++ Express 为 C++ 寻找一个简单的套接字接口