使用 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++ 寻找一个简单的套接字接口

使用 Visual C++ Express 2010 时找不到 atlbase.h

使用 Microsoft Visual C++ 2010 Express 时出现链接错误 LNK1123