msvcp110.dll,我该如何解决它?

 迦迦奥特曼_897 发布于 2023-02-03 10:06

我有以下问题:我使用Microsoft Visual Studio 2012,它将msvcp110.dll添加到我的版本.我已经在这里和那里阅读了一些帖子,我知道这是由于我同时使用iostream和string并将其链接到我的程序.我在我的电脑上使用它没有问题,但我想向其他人展示.所以我的问题是,尽管对其他人尽可能无痛,我怎么能绕过这个问题,仍然使用一些基本的标准好东西?我知道其他人可以安装Visual Studio Runtime的东西,但这有点痛苦.

1 个回答
  • 如果您打算保持应用程序动态链接,则最终用户需要安装Visual C++ Redistributable for Visual Studio 2012.

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

      二进制大小 - 您的应用程序二进制文件将更小,因为库函数未链接.

      安全性 - Windows Update可以更新Microsoft可再发行的DLL.如果在其中一个库中发现漏洞,他们可以修复它,并且所有动态链接的程序立即不再容易受到攻击.

      内存占用 - 如果多个进程都使用相同的DLL,则只需将其加载到(只读)内存中一次.所有进程在内存中共享DLL文本的副本,从而减少了进程的总体内存使用量.


    或者,您可以静态链接您的可执行文件.通过在Visual Studio中更改程序的生成选项来执行此操作.

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

    在此输入图像描述

    默认(/MD/ /MDd)告诉VS链接其运行时DLL.

    要静态链接,您要将其更改为其中一个非DLL选项(/MT/ /MTd)确保选择正确的调试/非调试版本(d交换机中的少量).


    也可以看看:

    静态链接与动态链接

    2023-02-03 10:09 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有