我对c ++中的GUI编程非常陌生,因此我没有那么多经验。
我使用Visual Studio 2017 CRL软件包为我的程序创建了一个GUI,现在我试图让这个exe可供所有人使用。 该应用程序适用于安装了Visual Studio或VC Runtime的用户,但对于那些不喜欢该程序的用户来说:"计算机上缺少vcruntime140.dll来运行此应用程序"。 我不知道如何在我的程序中链接这些dll,以便每个人都可以使用它。 我也不确定如何链接dll&#39。
答案 0 :(得分:4)
基本上有两种选择。
行业标准是将Visual Studio 20xx Runtime Redistributable Installer与您的程序一起发布,并在任何人尝试自行运行程序之前运行它,以确保.dll文件安装在目标计算机上。
另一个选项是在编译时更改库链接到可执行文件的方式。这是通过Visual Studio中的标志完成的:
基本上,您希望将Runtime Library
字段更改为“多线程”或“多线程调试”,具体取决于您是处于发布模式还是调试模式,而不是“多线程” DLL“,这是默认值。
但是,请注意,您需要确保您使用的每个库都以相同的方式编译:如果使用运行时库的DLL版本编译它们中的任何一个,它们将与您的代码进行互操作有趣的方式,至少你的问题将是他们需要安装DLL,无论如何,打败你的努力。
当然,如果你的所有库都是Header-only,这不是问题,但是如果它们中的任何一个已被编译,那么你需要使用正确的设置重新编译它们。
答案 1 :(得分:1)
您需要在计算机上安装Visual Studio 2017 redistribuables(它适用于每个版本的Visual Studio。)
但是,我在微软网站上找不到任何官方链接(可能是因为尚未正式发布)....
您可能需要使用2015版本(可再分配的资源here)并等待2017年成为正式版本。