【发布时间】:2020-03-11 13:30:43
【问题描述】:
我创建了两个控制台应用程序(用 C/C++ 编程),一个客户端和一个服务器,它们交换消息。这些应用程序运行良好,但是当我必须将可执行文件切换到另一台没有安装 Visual Studio 的计算机时,就会出现问题。启动两个应用程序之一后,我被告知缺少 msvcp140.dll、vcruntime140.dll 和 vcruntime140_1.dll。所以我做了一些研究并试图解决。有人说要配置静态链接(配置属性-> C / C ++ -> 代码生成-> 运行时库:'多线程(/MT)'),但是一旦我切换到第二台电脑,我就会收到消息说dll 丢失了。
此外,可执行文件的大小(12KB)与以前相比并没有增加太多。有人说他们试图使用第三方应用程序或只是将 dll 切换到第二台电脑。然而,我的目标是获得一个可以在不使用安装程序的情况下自主运行的可执行文件。
在各种论坛上搜索我没有找到解决方案;事实上,同样的应用程序在 Dev-Cpp 中编译然后带到第二台电脑上运行良好,所以必须有办法。我注意到在 Dev 和 Visual Studio 中编译的 .exe 之间的区别在于大小(分别约为 1.3 MB 和 23KB)。那么,我如何(如果在 VS 中可能的话)获得一个 .exe(更大或更小的可执行文件不是问题),我可以在不需要任何 dll 的情况下移动到另一台计算机?
我正在使用 Visual Studio 2019 学生版编程;作为“第二台电脑”,我使用运行 Windows 10 的虚拟机(与主机相同的系统)。 我构建时的解决方案配置是:Release x86。
【问题讨论】:
-
看起来另一台电脑必须安装微软的 c++ redist 包。
-
@ale03 换行符是免费的,你知道吗?
标签: c++ dll executable visual-studio-2019