【发布时间】:2015-08-29 15:20:47
【问题描述】:
我想在没有任何 c++ 相关编译器或库的系统上运行我的控制台应用程序 C++ 项目。
每次运行时都会出错。
“程序无法启动,因为您的计算机中缺少 MSVCP110D.dll。请尝试重新安装该问题以解决此问题。”
我相信这是因为我在我的程序中使用了 库。使用 stoi 函数。
如果是这样,我如何在我的项目中添加和使用这个库。 如果没有,还有什么选择?
它是一个简单的程序,使用以下库来读取和写入文件。
#include <iostream>
#include <fstream>
#include <string>
我使用 Visual Studio 2012 构建了这个项目。
将要运行此项目的系统使用 win7。
【问题讨论】:
-
我没试过,不过
static linking应该可以解决问题。这篇文章应该会有所帮助:codeproject.com/Articles/85391/… -
您正在编译 Debug 配置。 MSVCP110D.dll 不是可再发行的。您需要部署一个链接到 MSVCP110.dll 的 Release 配置。这是一个可再分发的,您需要与您的应用程序一起发布。
-
@user2079303:建议的副本不是。它回答了有关如何在目标机器上获取 MSVCP110.dll 的后续问题。它没有回答这个关于 MSVCP110D.dll 的问题。我建议你撤销你的近距离投票。
-
@IInspectable 该问题回答了如何在 VS 中静态链接标准库,这就是您如何构建依赖于标准库但可以在没有库 dll。这就是 OP 的要求。
-
@user2079303:不,不是。 OP 在问,为什么 CRT 的 Debug 配置不在目标机器上。答案是:因为它不可再分发。静态链接到 Debug 配置并不能解决问题:这违反了许可协议。
标签: c++ string visual-studio-2012 dll libraries