如何在没有C ++可再发行支持的情况下在Windows XP中运行MFC应用程序

我的发展环境是

  1. C ++
  2. Visual Studio 2008
  3. Windows 7的

    我要开始一个项目(MFC应用程序)和最终结果(exe)应该运行在Windows XP,Vista,Windows 7或Windows 8上,而不需要安装任何额外的软件包(如Visual C ++ Redistributable Package)。

问题:

  1. 我应该在Visual Studio中select哪一种项目?
  2. 我应该指定什么项目设置?

你必须使用MFC作为静态库。 在项目创建向导中注意这个选项。

当您在Visual Studio中启动一个需要在目标计算机上运行而不安装任何其他重新分发组件的项目时,这些基本的东西是您必须考虑的。

  1. 您必须选择项目类型Win32-> Win32 Console ApplicationWin32-> Win32 Project作为您的控制台或GUI要求。
  2. right click project in solution explorer -> Properties -> General -> Common Language Runtime support No Common Language Runtime support中, right click project in solution explorer -> Properties -> General -> Common Language Runtime support您必须选择No Common Language Runtime support right click project in solution explorer -> Properties -> General -> Common Language Runtime support
  3. 您的应用程序需要运行时程序集才能在目标计算机上运行。 在目标计算机中部署运行时DLL有两种方法

    • 程序集静态链接( right click project in solution explorer -> Properties -> General -> Use of MFC and Use of ATL )。 但是如果你的应用程序结合了多个DLL EXE和LIB,这个方法相当麻烦。

    • 在目标计算机中部署运行时DLL作为私有程序集(我个人推荐这种方法)。 更多细节在这里