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

How can others run my SFML/C++ projects without Visual Studio?

我构建了这个只有一个 C++ 文件的 SFML 项目。它在我的电脑上运行良好,有或没有 Visual Studio。我选择了release x86选项,然后压缩了release文件夹,发给不会运行的朋友。他们收到一条错误消息,说 "The program couldn't start because MSVCP140.dll is missing from your computer. Try reinstalling the program." 我该怎么做才能解决这个问题?如果这是一个新问题,我很抱歉。 感谢您将来的帮助! =]

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

您的朋友只需在此处下载并安装 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 名称 MSVCP140.dll 来判断)。由于 vanilla Windows 没有随这个库一起提供,所以关于是否有任何计算机有它是一个废话,因为它可能已经或可能没有被其他需要它的程序安装。