zoukankan      html  css  js  c++  java
  • 目标电脑未安装VC++6.0或者VS,运行APP丢失DLL问题解决办法

    背景

    VS或者VC++6.0编译出来的程序需要在未安装VS/VC++6.0的电脑上跑,很大情况会出现MSVCRXXX.dll 或者其他DLL丢失的情形,本篇就DLL相关问题做个记录。

    正文

    如何使VS或者VC++6.0编译出来的程序在未安装VS/VC++6.0的电脑上跑

    在X:Program Files [(x86)]Microsoft Visual Studio 版本VC edist区域设置 中的 Visual Studio 安装目录下找到包含在 Visual Studio 中的 Visual C++ 可再发行包(VCRedist_x86.exe、VCRedist_x64.exe 或VCRedist_arm.exe)。“X”为VS安装的文件夹,然后将对应的文件安装到目标电脑,即可实现在未安装VS/VC++6.0上的PC机上跑自己编译的程序。

    提示MSVCRXXXD.dll丢失,注意字母“D”

    若是提示MSVCRXXXD.dll丢失,则你会发现按照方法“1”,根本无法解决问题,它永远会提示该DLL丢失,直至手动将该丢失的DLL扔进“System32”文件夹内。这是不是很不科学?你总不可能让客户自己去网上download一个对应的DLL放到对应的文件夹吧。

    最后通过Google查找才找着答案,原来带“D”的原因是因为在编译DLL的时候使用了Debug模式,而实际发行版本应该用release模式,因为可再发行包(VCRedist_x86.exe、VCRedist_x64.exe 或VCRedist_arm.exe)内的DLL全是不带“D”的DLL,若是使用Debug模式,那么怎么安装可再发行包也都不可能解决DLL丢失的问题。

    解决办法:编译DLL的时候,使用release模式。

    参考链接

    The program can't start because MSVCR110.dll is missing ...

    重新分发 Visual C++ 文件

    Release Application looking for MSVCR110d.dll

    至此,记录完毕。

    记录时间:2016-12-12
    记录地点:深圳WZ

  • 相关阅读:
    Codeforces
    Codeforces
    SCUT
    Codeforces
    Codeforces
    poj 2229 Sumsets(类似于n的m划分)
    poj 1742 Coins(多重背包)
    hdu 2159FATE(完全背包)
    NOIP 普及组 2014 比例简化
    2018.10.2浪在ACM 集训队第三次测试赛
  • 原文地址:https://www.cnblogs.com/ChYQ/p/6273731.html
Copyright © 2011-2022 走看看