我使用Visual Studio 2010 Express在C ++ + SFML中编写了一个游戏。我打包在所有库中,如msvcr100.dll,opengl32.dll等,但有些人可以运行我的游戏,而其他人不能:/我不知道为什么,因为我添加了运行游戏所需的一切。无法运行游戏的人会收到以下消息:“无法在动态链接库msvcrt.dll中找到过程入口点_ftol2”
如何在所有机器上运行此游戏?
答案 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在某些系统上的工作方式不同,所以当我删除这个库时,每个人都可以运行我的程序