【问题标题】:C++ executable - MSVCR100.dll not found errorC++ 可执行文件 - MSVCR100.dll 未找到错误
【发布时间】:2011-08-08 01:11:28
【问题描述】:

我已经下载并编译了一个开源 C++ 应用程序,Frhed

当我运行我编译的版本时,它需要 MSVCR100 和一些其他 dll 文件(Visual C++ 可再发行版本的一部分)。但是,当我运行原始预编译的 Frhed 可执行文件时,它在没有安装任何 C++ 可再发行包的情况下运行。

我是否必须修改任何编译选项才能取消程序与 C++ 可再发行库的链接?

【问题讨论】:

    标签: c++ visual-studio-2010 package redistributable msvcr100.dll


    【解决方案1】:

    原始程序可能是静态链接,而您尝试动态链接可执行文件,这会导致文件更小,但依赖于 MSVCR100.dll 中的函数(Microsoft C 的 v10运行时库),如果您进行静态链接,它会包含在可执行文件中。

    要静态链接 DLL,请进入您的项目属性并将构建模式从 MD 更改为 MT。在 Visual Studio 2010/2012 中,该项目属性为 C/C++ -> 代码生成 -> 运行时库。

    【讨论】:

      【解决方案2】:

      简短的回答是,较长的回答是,嗯,更长。

      msvcr100.dllDLL implementation of the C run-time10.0 版本(即Visual Studio 2010 版本),您可能使用/MD 编译选项请求了它。为避免使用运行时的动态链接版本,您可以改用 /MT 选项并静态链接运行时。

      或者,您可以redistribute msvcr100.dll (and other files) 与您的程序一起使用。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2023-03-21
        • 2021-10-15
        • 2020-12-18
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多