VS2012:“找不到资源编译器 DLL。请确保路径正确。”
Posted
技术标签:
【中文标题】VS2012:“找不到资源编译器 DLL。请确保路径正确。”【英文标题】:VS2012: “Cannot find the resource compiler DLL. Please make sure the path is correct.” 【发布时间】:2014-03-11 16:27:14 【问题描述】:当我尝试打开 VC++ 2012 项目 (MFC) 的资源视图进行资源编辑时,我收到此错误:“找不到资源编译器 DLL。请确保路径正确。”
我确实在 SO 上找到了一个较早的问题:“VS2010:“找不到资源编译器 DLL。请确保路径正确。”和许多其他类似的通过谷歌,但那里给出的建议都没有帮助。我的 VS2012 设置修复了两次,确实尝试了文章中提到的所有注册表调整。看起来所需的 DLL 是 rcdll.dll,在几个 Windows SDK Bin 目录,将它们添加到系统路径(32 位和 x64 目录),仍然没有。
在这个问题上浪费了 4 个多小时。还有什么可以尝试的吗?谢谢!
格雷格
【问题讨论】:
请发布您的代码,并告诉我们哪里出了问题,以便我们提供帮助 Philip,代码无关,它无法打开任何VC++项目的任何资源编辑部分...你在VS中编辑对话框、菜单、工具栏的部分。 【参考方案1】:当我发布上述问题时,出于某种原因,我使用不同的帐户登录了我。不会批准我自己的答案,以免给自己加分。
终于弄明白了,大约一个小时后,使用 Sysinternals procmon 跟踪 VS2012 devenv.exe 进行的所有文件和注册表访问调用。事实证明,至少在我的系统上,VS2012 只在寻找这个密钥,而忽略了其他所有内容:
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Microsoft SDKs\Windows\v8.0
一旦我将 InstallationFolder 值设置为有效的 Windows SDK 文件夹(无论是版本 7、7.1 还是 8.1 SDK),一切都开始正常工作。奇怪的是,所有其他类似问题的帖子都建议设置:
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Microsoft SDKs\Windows
CurrentInstallFolder 和 CurrentVersion 的值到您希望它使用的任何 SDK,并且它应该可以工作。不是这样,只有上面提到的键和值被阅读和尊重。多次重新安装 Windows 7.1 和 8.1 SDK 也无济于事。
也许这是 VS2012 Update 4 中的某种错误,这是撰写本文时最新的。在这样一个愚蠢的问题上浪费了这么多时间,希望这篇文章能帮助其他人避免这样的损失。
格雷格
【讨论】:
【参考方案2】:您可以简单地将编译器从资源编译器更改为 C / C++ 编译器,您可以通过简单地创建一个资源来做到这一点,然后右键单击已生成的空资源并在资源右键单击[nameofyourproject].rc,然后选择属性并从项目类型中将其更改为C / C++编译器。
【讨论】:
以上是关于VS2012:“找不到资源编译器 DLL。请确保路径正确。”的主要内容,如果未能解决你的问题,请参考以下文章
VS2012的水晶报告 - VS2013 - VS2015 - VS2017