当我尝试在x86机器上使用MC ++编译器(vs2010)为x86 CPU构建的x64机器上运行exe时出现以下错误:
我已经安装了第二台(x64)计算机上的visual studio 2012(以及x6和x64的可重新发布的可更新版本4)。
快速搜索告诉我“MSVCR100.dll”已存在于“C:\ Windows \ System32”中。
我尝试安装Microsoft Visual C ++ 2010 Redistributable,但它退出时出现错误,告诉我已安装了高级版本。
请指导我做错了什么。 :)
答案 0 :(得分:3)
您的应用程序需要VS2010的dll。你应该在你的exe旁边的x86机器上放置MSVCR100.dll
和MSVCP100.dll
。您也可以将VS2010与当前的VS2012一起安装。那么你也应该安装VS2010的Service Pack1才能正常工作。安装VS2010后,您可以访问两个提到的dll,也可能不需要将它们复制到exe目录。
答案 1 :(得分:3)
首先,在64位版本的Windows中,32位系统可执行文件和应用程序扩展文件(又称DLL)放在%systemroot%\SysWOW64
而不是%systemroot%\System32
(其中)有点违反直觉,在64位Windows中包含64位版本。因此,必须检查SysWOW64文件夹中的x86 / 32位MSVC(++)DLL。
其次,虽然在目标机器上安装了相应的visual studio版本,或者附带了带有所需C(++)DLL的分布式程序,理论上应该可以解决问题,但是&#39没必要。安装相应的MSVC ++可再发行软件包就足够了(例如,在这种特殊情况下,例如Microsoft Visual C ++ 2010 x86可再发行软件包)。
备注:强>