在vista上使用Visual Studio 2008编译一个简单的C ++项目后,一切都在原始vista机器和其他远程计算机上运行良好。但是,将其移动到XP框会导致错误消息:“应用程序无法启动,因为应用程序配置不正确”。
我需要做什么才能使我编译的EXE适用于XP和Vista?几个月前我遇到了同样的问题,只是摆弄了项目中的一些设置修复了它,但我不记得我改变了哪些。
答案 0 :(得分:6)
您需要在目标计算机上安装Visual Studios 2008运行时:
或者,您也可以静态链接运行时,在项目属性窗口中转到:
c ++ - >代码生成 - >运行 库并选择“多线程 / MT“
答案 1 :(得分:1)
答案 2 :(得分:1)
您可能需要在应用程序中分发VC运行时。有很多种方法可以做到这一点。来自Microsoft Visual C ++团队的This article最好地解释了在使用Visual Studio 2005或2008时分发这些依赖项的不同方法。
正如文章中所述,尽管您可以下载Redistributable安装程序包并在客户端计算机上启动它,但这几乎总是不是最佳选择。如果您只是想通过Windows安装程序或App-Local副本分发压缩文件夹,通常有更好的方法来包含所需的DLL,例如包括合并模块。
另一种选择是静态链接运行时库,而不是将它们与您的应用程序一起分发。此选项仅适用于不加载其他DLL的独立EXE。您也无法使用其他应用程序加载的DLL来执行此操作。
答案 3 :(得分:0)
最简单的是静态链接到运行时。
c ++ - >代码生成 - >运行时库并选择“多线程/ MT”
然而,这确实使您的可执行文件大了几百KB。如果要安装大量小程序,这可能会成为一个问题,因为每个程序都有自己的运行时副本。答案是创建一个安装程序。
新项目 - > “设置和部署” - > “安装项目”
将应用程序项目的输出(使用运行时的DLL版本定义)加载到安装程序项目中并构建它。将注意到对运行时DLL的依赖性,包含在安装程序包中,并且整齐且不显眼地安装在目标计算机上的正确位置。
答案 4 :(得分:0)