Visual Studio 2017 C++ 可在任何计算机上运行的Exe文件(链接vcruntime140.dll)

4

我在C++图形用户界面编程方面很新,因此经验不太丰富。

我使用Visual Studio 2017 CRL包创建了一个GUI程序,现在我正在试图使这个exe文件对每个人都可用。 这个应用程序对于那些安装了Visual Studio或VC Runtime的人来说工作得很好,但是对于那些没有安装的人来说,程序会抛出类似于“vcruntime140.dll在您的计算机上缺失以运行此应用程序”的错误信息。 我不确定如何将这些DLL链接到我的程序中,以便每个人都能使用它。 我也不太确定如何链接DLL。


谢谢。是的,C++/CLI的结构与传统的C++看起来不同。我选择它只是因为我不知道如何创建一个好看的GUI。也许我应该尝试不使用这个工具从头开始构建我的GUI。 - user7715430
2个回答

10

基本上有两个选择。

行业标准是在您的程序旁边附带Visual Studio 20xx Runtime Redistributable Installer,让它在任何人尝试运行您的程序之前运行,以确保.dll文件安装到目标计算机上。

另一个选择是在编译时更改库链接到可执行文件的方式。在Visual Studio中使用标志来完成此操作:

Property Pages

基本上,您需要将 Runtime Library 字段更改为多线程多线程调试,具体取决于您是否处于发布或调试模式,而不是默认值多线程DLL

然而,请注意,您需要确保您使用的每个库都以相同的方式编译:如果其中任何一个使用了Runtime Library的DLL版本,则它们将以有趣的方式与您的代码互操作,并且最小的问题是它们仍然需要安装DLL,从而使您的努力功亏一篑。

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


1

您需要在计算机上安装Visual Studio 2017 redistribuables(这适用于每个版本的Visual Studio)。

然而,我在Microsoft网站上找不到任何官方链接(可能是因为这还没有正式发布)....

您可能需要使用2015版本(其redistribuables可在此处找到),并等待2017成为官方发布。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接