我的程序无法在朋友的机器上运行

时间:2010-08-01 22:18:56

标签: visual-c++ visual-studio-2010 compatibility

我使用Visual Studio 2010 Express在C ++ + SFML中编写了一个游戏。我打包在所有库中,如msvcr100.dll,opengl32.dll等,但有些人可以运行我的游戏,而其他人不能:/我不知道为什么,因为我添加了运行游戏所需的一切。无法运行游戏的人会收到以下消息:“无法在动态链接库msvcrt.dll中找到过程入口点_ftol2”

如何在所有机器上运行此游戏?

4 个答案:

答案 0 :(得分:6)

请不要复制DLL。使用Visual Studio 2010 Redistributable Package。如果你想简化这个,可以使用一些工具来创建一个安装项目。 Visual Studio Professional有一个简单易用的安装向导创建器。

答案 1 :(得分:1)

您的朋友似乎没有和您一样的msvcrt.dll。他们应该安装VC 2010可再发行组件包,其中包含所有库,或者您可以将游戏静态链接到标准运行时库。

您可以获取可再发行软件包here (x86 version)

答案 2 :(得分:1)

请编辑您的帖子以包含REAL错误消息 - 否则,人们将开始猜测游戏,并且无法为您提供答案,就像您在帖子中包含所有必要信息一样好。

错误消息可能是

  

“程序入口点_ftol2   无法定位在动态中   链接库msvcrt.dll“

...这很可能意味着您提供了错误版本的msvcrt.dll,并且可以运行您的应用程序的人员偶然安装了正确的版本。要解决此问题,请提供正确的版本。

答案 3 :(得分:0)

我发现问题,我将opengl32.dll添加到此软件包中。我认为opengl32.dll在某些系统上的工作方式不同,所以当我删除这个库时,每个人都可以运行我的程序