VS2010:“找不到资源编译器DLL。请确保路径正确。”

时间:2012-05-26 21:55:46

标签: c++ visual-studio-2010

我一直关注theForger's win32 API tutorial,我决定打开menu_one.rc文件,在VS2010中看到它的内容,我收到了这个错误:

The error (imgur.com)

我已经仔细检查了两个位置,但实际上并不存在这两个文件。我所拥有的rcdll.dll的唯一副本位于:

C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Bin\rcdll.dll and 
C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Bin\x64\rcdll.dll

我尝试过repair install of the Windows SDK,但这并没有解决问题。我该怎么办?

3 个答案:

答案 0 :(得分:9)

This thread提到注册问题:

  

我已经能够使用安装了Windows 7 SP1 64位和VS2010 Sp1的电脑重现该问题。

     

我必须修改以下注册表项

[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Microsoft SDKs\Windows]
"CurrentVersion"="7.0"
"CurrentInstallFolder"="C:\\Program Files (x86)\\Microsoft SDKs\\Windows\\v7.0\\"
  

[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Microsoft SDKs\Windows]
"CurrentVersion"="7.0.30319"
"CurrentInstallFolder"="C:\\Program Files (x86)\\Microsoft SDKs\\Windows\\v7.0A\\"
  

下有2个键
[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Microsoft SDKs\Windows]
  

v7.0
v7.0A
  

我删除了v7.0及其所有子键。问题解决了。

答案 1 :(得分:6)

由于我在v8.0A上运行,我有点担心更改注册表,但我能够通过简单地将rcdll.dll从以前的版本复制到错误消息中列出的目录来修复错误

答案 2 :(得分:1)

VonC's answer很有帮助,但就我而言,它并没有解决问题。还有另一个需要更改的注册表项。

要查找该密钥,我搜索了 regedit v6.0A,因为那是我错误对话框中路径的版本。
对话框路径为C:\Program Files\Microsoft SDKs\Windows\v6.0A\Bin\rcdll.dll

找到包含v6.0A的密钥后,我将路径替换为机器上的路径:
C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Bin

我还将版本字符串更新为v7.0A7.0.30319,具体取决于原始值。我在搜索结果的子键中找到了一些版本字符串,所以我也在那里应用了这些更改。

在我的机器上,Visual Studio使用的密钥位于:

[HKEY_USERS\S-1-5-21-627493193-880714491-1605132347-6179\Software\Microsoft\Microsoft SDKs\Windows]