【问题标题】: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 只是为了我的程序。
【问题讨论】:
标签:
c++
visual-studio
dll
operating-system
version
【解决方案1】:
msvcp140.dll 是一个动态链接库 (DLL),它是 Microsoft Visual C++ 组件的一部分。您的机器可能没有用于 Visual C++ 的 Microsoft redistributable。(我假设您使用的是 VC++ 编译器)。由于另一台机器没有安装MSVS,所以不能保证它安装了redist。只需从您的 Visual Studio 版本安装适当的 redist 包以避免错误。 msvcp140.dll 依赖于 Microsoft Visual C++ 版本。
【解决方案2】:
如果您不想在您的应用程序中重新分发 MSVC DLL,您可以为您的应用程序创建一个静态构建。
在项目设置 -> C/C++ -> 代码生成 -> 运行时库 -> 选择/MT 或/MTd(调试)
静态链接模块不需要任何 MSVC DLL(omp140 除外,如果您使用 OpenMP)
(缺点是你的EXE会变大)