65.9K
CodeProject 正在变化。 阅读更多。
Home

如何在 Visual C++ Express 中编译 MFC 代码

starIconstarIconstarIconstarIcon
emptyStarIcon
starIcon

4.48/5 (35投票s)

2008 年 10 月 26 日

CPOL

3分钟阅读

viewsIcon

577937

downloadIcon

3099

如何在 Visual C++ Express 中编译现有的 MFC 代码。

引言

Microsoft Visual C++ Express 版本可以免费下载。虽然 Visual C++ 的 Express 版本提供了丰富的开发环境,但它缺乏开发和编译 MFC 程序的功能。在本文中,我将解释如何仍然可以在 Visual C++ Express 中编译 MFC 代码,当您有很多旧的 MFC 代码(比如我)时,这尤其有用。

五个简单步骤

要在 Visual C++ Express 版本中编译 MFC 代码,您首先需要执行五个步骤

步骤 1 - 首先,您需要下载并安装 Visual C++ Express 版本(如果尚未安装)。

步骤 2 - 转到 Windows Server 2003 驱动程序开发工具包 (DDK) 网页,下载 DDK ISO 文件,并将其刻录到 CD。大多数情况下,您只需使用计算机自带的 CD 刻录软件即可完成此任务,或者,您可以使用这个软件,或这个软件。

步骤 3 - 从 CD 安装 DDK(在 CD 上执行 setup.exe)。 简单地安装默认选择(构建环境、文档、驱动程序开发人员工具)就足够了。

步骤 4 - 您必须添加几个目录路径,以告诉 Visual C++ 在哪里可以找到 MFC 相关文件。 这可以通过在“工具”菜单中选择“选项...”条目来完成,如下面的图像所示

DemoMFC

然后,在左侧列表中的“项目和解决方案”条目中,选择“VC++ 目录”。 现在,在右侧的“显示目录用于”下拉列表中,选择“包含文件”。 在这里,您应该添加(只需单击空行)以下路径

  • $(DDK_directory)\inc\mfc42
  • $(DDK_directory)\inc\atl30

您应该将 $(DDK_directory) 替换为您在上一步中安装 DDK 的目录,在我的例子中是“C:\WINDDK\3790.1830”;请参见下图

MFC_Express2.PNG

现在,将“显示目录用于”下拉列表更改为“库文件”,并添加

  • $(DDK_directory)\lib\mfc\i386
  • $(DDK_directory)\lib\atl\i386

再次,将 $(DDK_directory) 替换为您机器上 DDK 的路径;请参见下图

MFC_Express3.PNG

步骤 5 - 在最后一步中,您必须编辑文件“afxwin.inl”,该文件可以在 $(DDK_directory)\inc\mfc42 目录中找到。

在此文件中,从第 1033 行开始,更改

_AFXWIN_INLINE CMenu::operator==(const CMenu& menu) const
    { return ((HMENU) menu) == m_hMenu; }
_AFXWIN_INLINE CMenu::operator!=(const CMenu& menu) const
    { return ((HMENU) menu) != m_hMenu; }

into

_AFXWIN_INLINE BOOL CMenu::operator==(const CMenu& menu) const
    { return ((HMENU) menu) == m_hMenu; }
_AFXWIN_INLINE BOOL CMenu::operator!=(const CMenu& menu) const
    { return ((HMENU) menu) != m_hMenu; }

寻找不同之处? 嗯,"BOOL" 已插入两次(注意大写)。

各就各位,预备,跑!

现在,您已准备好在 Visual C++ Express 版本中编译 MFC 程序。 下载本文顶部的示例程序并尝试一下!

没有任何问题吗? 当然有! 您刚刚安装了 MFC 4.2 版,该版本随 Visual Studio 6 一起提供。这意味着,如果您的代码使用 VS6 之后引入的 MFC 功能,它将无法编译。 此外,您将无法使用 MFC 调试 DLL 运行,也无法静态链接到 MFC。 但是,在发布模式下使用动态链接可以使一切正常运行。 最后,Express 版本不附带拖放 MFC 资源编辑器。 您可以手动在文本模式下编辑资源文件(这些文件决定了窗口的外观),或者可以尝试外部程序

历史

  • 2008 年 10 月 26 日 - 文章的初始版本。
© . All rights reserved.