繁体   English   中英

即使安装了MSVCP100.dll也找不到错误

[英]MSVCP100.dll not found error even when it is installed

当我尝试在x86机器上使用MC ++编译器(vs2010)为x86 CPU构建的x64机器上运行exe时,我收到以下错误:

程序无法启动,因为您的计算机缺少MSVCR100.dll。

我已经在第二台(x64)计算机上安装了visual studio 2012(以及可重新分发的Visual C ++ 2012 Update 4,x86和x64)。

快速搜索告诉我“MSVCR100.dll”已存在于“C:\\ Windows \\ System32”中。

我尝试安装Microsoft Visual C ++ 2010 Redistributable,但它退出时出现错误,告诉我已安装了高级版本。

请指导我做错了什么。 :)

首先 ,在64位版本的Windows中,32位系统可执行文件和应用程序扩展文件(也称为DLL)放在%systemroot%\\SysWOW64而不是%systemroot%\\System32 (这有点违反直觉,包含64位版本)一个64位的Windows)。 因此,必须检查SysWOW64文件夹中的x86 / 32位MSVC(++)DLL。

其次 ,虽然在目标机器上安装相应的visual studio版本或者附带带有所需C(++)DLL的分布式程序,理论上应该解决问题,但这不是必需的。 安装相应的MSVC ++可再发行组件就足够了(例如,在这种特殊情况下,Microsoft Visual C ++ 2010 x86可再发行组件包)。

笔记:

  1. 上述信息在理论上是正确的,但损坏的Windows安装或......可能不符合。
  2. 将C ++ DLL与分布式程序一起包括是可以接受的(并且可能是一个保守但正确的决定),但安装Visual Studio版本仅仅是为了能够使用有问题的DLL肯定不是。
  3. 另外,C ++可再发行组件包不会安装DLL的调试版本,因此运行调试编译的应用程序需要安装或访问相应的Visual Studio版本。

您的应用程序需要VS2010的dll。 你应该在你的exe旁边的x86机器上放置MSVCR100.dllMSVCP100.dll 您也可以将VS2010与当前的VS2012一起安装。 那么你也应该安装VS2010的Service Pack1才能正常工作。 安装VS2010后,您可以访问两个提到的dll,也可能不需要将它们复制到您的exe目录。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM