我一直关注theForger's win32 API tutorial,我决定打开menu_one.rc
文件,在VS2010中看到它的内容,我收到了这个错误:
我已经仔细检查了两个位置,但实际上并不存在这两个文件。我所拥有的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,但这并没有解决问题。我该怎么办?
答案 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.0A
或7.0.30319
,具体取决于原始值。我在搜索结果的子键中找到了一些版本字符串,所以我也在那里应用了这些更改。
在我的机器上,Visual Studio使用的密钥位于:
[HKEY_USERS\S-1-5-21-627493193-880714491-1605132347-6179\Software\Microsoft\Microsoft SDKs\Windows]