MSVCP140.dll 是不是依赖于操作系统/版本?
Posted
技术标签:
【中文标题】MSVCP140.dll 是不是依赖于操作系统/版本?【英文标题】:Is MSVCP140.dll OS/version-dependant?MSVCP140.dll 是否依赖于操作系统/版本? 【发布时间】:2017-01-16 10:23:46 【问题描述】:所以我尝试在另一台计算机上运行我的程序,正如您从标题中所期望的那样,这台计算机缺少 msvcp140.dll - 我从互联网上下载了它(当时没有其他选项)并且它没用。
除了上述 .dll 的 32-64 位版本之外,每个版本的 Visual Studio 和/或每个 Windows 版本(7、8、10)是否有不同的版本? 我宁愿不让用户在他们的计算机上安装 Visual Studio 只是为了我的程序。
【问题讨论】:
【参考方案1】:msvcp140.dll 是一个动态链接库 (DLL),它是 Microsoft Visual C++ 组件的一部分。您的机器可能没有用于 Visual C++ 的 Microsoft redistributable。(我假设您使用的是 VC++ 编译器)。由于另一台机器没有安装MSVS,所以不能保证它安装了redist。只需从您的 Visual Studio 版本安装适当的 redist 包以避免错误。 msvcp140.dll 依赖于 Microsoft Visual C++ 版本。
【讨论】:
Visual C++ Redistributable for Visual Studio 2015:microsoft.com/en-US/download/details.aspx?id=48145【参考方案2】:如果您不想在您的应用程序中重新分发 MSVC DLL,您可以为您的应用程序创建一个静态构建。
在项目设置 -> C/C++ -> 代码生成 -> 运行时库 -> 选择/MT
或/MTd
(调试)
静态链接模块不需要任何 MSVC DLL(omp140 除外,如果您使用 OpenMP)
(缺点是你的EXE会变大)
【讨论】:
以上是关于MSVCP140.dll 是不是依赖于操作系统/版本?的主要内容,如果未能解决你的问题,请参考以下文章