2012-05-26 98 views
9

我一直在下面theForger's win32 API tutorial,我決定開menu_one.rc文件,看看從內VS2010它的內容,我得到這個錯誤:VS2010:「無法找到資源編譯器DLL,請確保路徑正確。」

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,但這並沒有解決問題。我該怎麼辦?

回答

7

This thread提到註冊表問題:

I had been able to reproduce the issue with my pc with Windows 7 SP1 64 bit and VS2010 Sp1 installed.

What I had to is modify the following registry entries from

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

to

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

And there were 2 keys under

[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Microsoft SDKs\Windows] 

which are

v7.0 
v7.0A 

I deleted v7.0 along with all its subkeys. And the problem is solved.

+0

這是這些鍵是怎麼對我的盒子佈局:http://i.imgur.com/vORBK我應該如何繼續? – whiplash

+0

@whiplash我相信這個想法是確保這些鍵引用您實際使用的'rcdll.dll'的目錄,使用當前版本到v7.0A – VonC

+0

更改註冊表鍵以反映7.0A的安裝目錄。重新啓動VS2010和.rc文件打開就好!謝謝一堆! – whiplash

6

自從我在v8.0A上運行後,我有點擔心要更改註冊表,但是我可以通過將rcdll.dll從以前的版本複製到錯誤消息中列出的目錄中來修復錯誤。

+0

我嘗試過,沒有運氣。但是,如@VonC所示更改註冊表項可以解決問題......可能不正確,但它起作用。 –

1

VonC's answer是有幫助的,但在我的情況下,它並沒有解決問題。還有另一個需要更改的註冊表項。

要找到該密鑰,我搜索了REGEDITv6.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] 
相關問題