我正在试着用SFML做一个游戏。我在Visual Studio2012和Windows7上做了部分工作。我试图在另一台使用Windows XP的电脑上运行这款游戏,但我得到了一个错误消息“找不到MSVCP110D.dll”。我在这个论坛上看到了另一个主题,说要在发布模式下编译代码,但当我在编译前选择“发布”选项时,Visual Studio会对与SFML相关的所有内容加下划线。它找不到我包含的库"SFML/Graphics.hpp“。在"Debug“模式下,一切正常。您知道如何在不同的PC (Windows XP或Windows 7)上运行游戏吗?
我将项目的属性更改为针对Windows XP进行编译。如果没有这个选项,当我尝试在XP上运行游戏时,出现错误“不是一个有效的32位应用程序”。
现在一切都正常了。我更改了释放模式的所有设置。在我的Win XP PC上,我安装了C++ Redistribution 2012。但是,如果我将游戏发送给没有安装C++ Redistribution 2012的人呢?
发布于 2013-11-26 19:22:57
正如评论中的讨论所显示的那样,您应该始终以发布模式进行部署。此外,当您动态链接运行库时,您需要为应用程序提供DLL(从可执行文件旁边的Visual Studio目录中复制它们),或者发布/链接匹配的重分发。
另一种选择是像Schepurin指出的那样静态链接,但请记住,如果没有正确和一致地执行,这可能会导致其他问题。
https://stackoverflow.com/questions/20159760
复制相似问题