其他人如何在没有Visual Studio的情况下运行我的SFML / C ++项目?

时间:2016-07-16 23:42:12

标签: c++ visual-studio sfml

我已经构建了这个只有一个C ++文件的SFML项目。它可以在我的计算机上运行,​​无论是否有Visual Studio。我选择了发布x86选项,然后压缩了release文件夹并将其发送给无法运行它的朋友。他们收到一条错误消息,“程序无法启动,因为您的计算机缺少MSVCP140.dll。请尝试重新安装该程序。”我该怎么做才能解决这个问题?如果这是一个新问题,我很吵。 感谢未来的任何帮助! =]

1 个答案:

答案 0 :(得分:2)

这是一个众所周知的问题,幸好它有一个众所周知的解决方案。

您的朋友只需要在此处下载并安装Visual Studio 2015可再发行组件包:https://www.microsoft.com/en-us/download/details.aspx?id=48145

由于您说您的程序是为x86(32位)构建的,因此请确保它们下载相应的x86可再发行组件。如果你决定为我推荐的x64(64位)构建它,那么请确保它们下载相应的x64可再发行组件。

如果您要为程序安装一个安装程序,那么强烈建议将其与Visual Studio 2015可再发行程序包捆绑在一起(如Trevor Hickey在评论中所述)。

哦,但为什么?

当您的程序由Visual Studio编译和链接时,它正在使用为相同版本的Visual Studio创建并使用的C ++标准库版本(在您的情况下为2015,我可以通过所需的DLL名称来判断) MSVCP的 140 .DLL)。由于vanilla Windows不附带此库,因此它是一个关于任何计算机是否具有它的故事,因为它可能已经或可能没有被其他需要它的程序安装。