2010-10-26 90 views
1

我有一个用Visual C++ 2008开发的C++代码,它在应用程序的dubug子文件夹中创建一个.exe文件。该程序在Windows Vista PC的开发机器上正常运行,但在安装在未安装Visual C++ 2008的Windows XP PC上的另一台机器上时无法运行。 (我使用InstalShield 2010来部署该程序)。即使我用CODEBLOCKS重新编译了程序,它仍然不能在另一台机器上运行,而它在开发PC上运行得非常好。任何想法如何解决这个问题?还是有更简单的方法来部署C++程序在任何PC上运行?部署Visual C++ 2008程序

+0

当你试图在另一台机器上运行它会发生什么?也许你错过了dll或其他东西?如果您可以发布错误消息或其他内容,将会有所帮助。 – WildCrustacean 2010-10-26 02:27:52

回答

2

它需要CRT运行时。标准运行时只支持发布版本,所以部署发布版本的exe。

+0

是的..调试只能运行在VS系统上。 – baash05 2010-10-26 05:40:29

0

最简单的方法是静态链接所有内容。转到您的项目属性/设置并设置静态链接选项(MFC等)。如果你喜欢,现在你可以分发.exe。

否则,创建一个新的安装/部署项目。它应该自动检测所有依赖关系(但应该检查),并为您的用户创建一个.msi文件,以便将所有依赖项安装在一起。

此外,如果您的.exe文件位于Debug文件夹中,那么您可能只会构建调试版本。您可能想要构建和分发发布版本。

+0

谢谢你们。我试过了发布版本和静态链接选项。代码现在可以在其他机器上完美运行。 – 2010-10-27 20:39:02