适用于任何PC的Visual Studio 2017 C ++ Exe(链接vcruntime140.dll)

3 c++ user-interface visual-studio

我对使用c ++进行GUI编程非常陌生,因此我没有那么多经验。

我使用Visual Studio 2017 CRL程序包为自己的程序创建了一个GUI,现在我正在尝试使该exe可供所有人使用。对于已安装Visual Studio或VC Runtime的用户,该应用程序运行良好,但对于那些未进行编程的用户,该应用程序会抛出类似以下内容:“您的计算机上缺少vcruntime140.dll以运行该应用程序”。我不确定如何在程序中链接这些dll,以便每个人都可以使用它。我也不确定我将如何链接dll。

Xir*_*ema 6

基本上有两种选择。

行业中的标准是将Visual Studio 20xx Runtime Redistributable安装程序与您的程序一起提供,并在任何人试图自己运行程序之前运行它,以确保将.dll文件安装到目标计算机上。

另一个选择是更改在编译时将库链接到可执行文件的方式。这是通过Visual Studio中的标志完成的:

属性页

基本上,您要Runtime Library根据是处于“释放”还是“调试”模式来将字段更改为“多线程”或“多线程调试”,而不是默认设置“多线程DLL”。

但是请注意,您需要确保使用的每个库都以相同的方式进行编译:如果其中任何一个是使用运行时库的DLL版本编译的,它们将以有趣的方式与您的代码进行互操作,最少的问题就是它们无论如何都需要安装DLL,这使您的工作变得失败。

当然,如果您所有的库都是Header-Only的,那不是问题,但是如果其中任何一个都已编译,那么您将需要使用正确的设置重新编译它们。