C++库的不同版本
在Vista上编译使用Visual Studio 2008的简单C++项目后,在原始vista机器和其他vista计算机上运行良好。但是,将其移至XP盒会导致错误消息:“应用程序配置不正确导致应用程序无法启动”。C++库的不同版本
我必须做什么,我的编译EXE适用于XP和Vista?几个月前我也遇到了同样的问题,只是在项目上修改了一些设置,但我不记得我改变了哪些。
您需要在目标计算机上安装Visual影城2008年运行时:
或者,你也可以静态链接的运行时间,在项目属性窗口,请访问:
C++ - >代码生成 - >运行时 库并选择 “多线程 /MT”
您可能需要将VC运行时与应用程序一起分发。有很多种方法可以做到这一点。 This article从微软的Visual C++团队最好的解释了不同的方式,如果你正在使用Visual Studio 2005或2008
正如文章指出,虽然你也可以下载可再分发安装包,只需启动该上分发这些依赖客户机,这几乎总是不是最佳选择。如果您只是想分发压缩文件夹,通过Windows安装程序或App-Local副本分发,通常会有更好的方法来包含所需的DLL,例如包括合并模块。
另一种选择是静态链接运行时库,而不是将它们分发给您的应用程序。此选项仅适用于不加载其他DLL的独立EXE。您也无法使用其他应用程序加载的DLL来执行此操作。
静态链接到运行时是非常简单的。
C++ - >代码生成 - >运行时库,并选择“多线程/ MT”
然而,这确实让您的可执行几百K字节大。如果你安装了大量的小程序,这可能会成为一个问题,因为每个程序都会受到它自己的运行时拷贝的影响。答案是创建一个安装程序。
新的工程 - >“设置和部署” - >“设置项目”
负载从应用程序项目输出到安装项目,并构建它(使用运行时的DLL版本中定义)。注意到运行时DLL的依赖关系,包含在安装程序包中,并且整洁,不显眼地安装在目标机器上的正确位置。
感谢那个选项,我一直在寻找。 – user16773 2008-09-17 20:45:05