当我将.exe移至另一台PC(msvcp140.dll,vcruntime140.dll和vcruntime140_1.dll)时,缺少dll

问题描述 投票:-1回答:1

我创建了两个控制台应用程序(用C / C ++编程),一个客户端和一个服务器,它们交换消息。这些应用程序运行良好,但是当我不得不将可执行文件切换到另一台未安装Visual Studio的计算机时,就会出现问题。一旦启动了两个应用程序之一,就会被告知缺少msvcp140.dll,vcruntime140.dll和vcruntime140_1.dll。因此,我做了一些研究并试图解决。有人说要配置静态链接(配置属性-> C / C ++->代码生成->运行时库:“多线程(/ MT)”),但是一旦我切换到第二台计算机,我得到的消息是dll丢失。

此外,与以前相比,可执行文件的大小(12KB)没有增加太多。有人说他们试图使用第三方应用程序,或者只是将dll切换到第二台PC。但是,我的目标是获得一个无需执行安装程序即可独立运行的可执行文件。

在各种论坛上搜索,我没有找到解决方案;事实是,用Dev-Cpp编译并带到第二台PC的相同应用程序运行良好,因此必须有一种方法。我注意到在Dev和Visual Studio中编译的.exe之间的区别是大小(分别约为1.3 MB和23KB)。因此,我如何才能(如果在VS中可能的话)获得一个.exe(可执行文件的大小更大或更小不是问题),我可以将其移至另一台计算机而无需任何dll?

我正在使用Visual Studio 2019,学生版进行编程;作为“第二台PC”,我使用运行Windows 10的虚拟机(与主机相同的系统)。我构建时的解决方案配置是:发布x86。

c++ dll executable visual-studio-2019
1个回答
0
投票

我想,您可以做一个文件。检查配置属性->常规->使用MFC:选择使用标准Windows库。并且(您已经写过):(配置属性-> C / C ++->代码生成->运行时库:“多线程(/ MT)”。

如果没有帮助,您可以使用'dependency walker'(免费软件)来检查依赖关系。

© www.soinside.com 2019 - 2024. All rights reserved.