gpt4 book ai didi

c++ - msvcp110.dll,我该如何绕过它?

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:10:57 27 4
gpt4 key购买 nike

我遇到以下问题:我使用 Microsoft Visual Studio 2012 并将 msvcp110.dll 添加到我的版本中。我在这里和那里阅读了一些帖子,我知道这是由于我同时使用 iostream 和 string 并将其链接到我的程序而引起的。我在我的 PC 上使用它没有问题,但我想向其他人展示它。所以我的问题是,我如何尽可能不让其他人痛苦地解决这个问题,并且仍然使用一些基本的 std 好东西?我知道其他人可以只安装 Visual Studio 运行时的东西,但这有点痛苦。

最佳答案

如果您打算保留您的申请 dynamically-linked ,您的最终用户需要安装 Visual C++ Redistributable for Visual Studio 2012 .

这是交付应用程序的首选方式,原因如下:

  1. 二进制文件大小 - 您的应用程序二进制文件会更小,因为没有链接库函数。
  2. 安全性 - Microsoft 可再发行 DLL 可以通过 Windows Update 进行更新。如果在他们的某个库中发现漏洞,他们可以修复它,所有动态链接的程序立即不再易受攻击。
  3. 内存占用 - 如果多个进程都使用同一个 DLL,则只需将其加载到(只读)内存中一次。所有进程在内存中共享 DLL 文本的拷贝,从而减少进程的总内存使用量。

或者,您可以 statically link你的可执行文件。通过在 Visual Studio 中更改程序的构建选项来执行此操作。

在 Visual Studio 2010 中,这位于配置属性> C/C++> 代码生成> 运行时库>.

enter image description here

默认值 (/MD//MDd) 告诉 VS 链接到他们的运行时 DLL。

要静态链接,您要将其更改为非 DLL 选项之一 (/MT//MTd) 确保选择正确的 Debug/Non -调试版本(开关中的小d)。


另见:

关于c++ - msvcp110.dll,我该如何绕过它?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21103532/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com