2010-04-24 68 views
6

1>項目:錯誤PRJ0003:錯誤產卵'rc.exe'..這是我得到的錯誤,當我嘗試運行這個閱讀的小練習程序並編寫我不能做的文件,因爲我無法正確打開文件。我使用微軟的Visual C++ 2008和我已經使用文件路徑來嘗試打開該文件以及我不能有人可以幫助?1>項目:錯誤PRJ0003:產生'rc.exe'錯誤

#include <iostream> 
#include <fstream> 
using namespace std; 

int main() 
{ 
    ifstream infile; 
    ofstream myfile; 
    int num; 
    infile.open("example.txt"); 
    if(infile.fail()) 
    { 
     cout << "error" << endl; 
    } 
    myfile.open ("example.txt"); 
    if(infile.fail()) 
     { 
      cout << "error" << endl; 
     } 
    while(!infile.eof()) 
     { 
      example >> num; 
     } 
    while(!myfile.eof()) 
     { 
      example << num; 
     } 
    infile.close(); 
    myfile.close(); 
    return 0; 
} 
+2

嗨,歡迎來到SO。您可以通過突出顯示並按下ctrl-k來正確地格式化您的代碼。 – bernie 2010-04-24 17:38:23

+0

非常感謝,我不知道 – user320950 2010-04-24 17:38:57

+0

它看起來像你的錯誤不是在運行程序,而是在編譯它。 – Yuliy 2010-04-24 17:46:17

回答

3

您的Visual Studio安裝有問題,它應該永遠不會有任何問題找到並運行rc.exe。首先檢查文件是否存在。它應該位於c:\ program files \ microsoft sdks \ windows \ v6.0a \ bin \ rc.exe中。

接下來要檢查的是路徑設置正確。工具+選項,項目和解決方案,C++目錄。右上:顯示=可執行文件的目錄。驗證$(WindowsSdkDirs)\ bin在那裏列出。嘗試顯式添加文件夾名稱。如果後面的步驟起作用,那麼你的註冊表會搞砸了。絕望一下,重新運行Setup.exe並選擇修復。

+0

我看不到這個文件 c:\ program files \ microsoft sdks \ windows \ v6.0a \ bin \ rc.exe。 並沒有打開文件cuz它說我需要聲明的例子是文件名。我應該重新安裝visual C++ – user320950 2010-04-24 19:21:54

+0

不知道「聲明示例」的含義。但沒有看到文件是問題的根源。是的,重新安裝。 – 2010-04-24 21:40:50

1

確保其中一個「可執行文件」目錄(可通過工具 - >選項 - > VC++目錄編輯)包含RC.exe和RcDll.Dll。

所需的RC.exe很可能放在「C:\ Program Files \ Microsoft SDKs \ Windows \ XXX \ Bin」其中XXX是不同的版本號。

如果某個特定版本的Microsoft SDK不包含RC.exe,則可以從Microsoft下載最新的一個,並將「可執行文件」直接指向新目錄,嘗試不使用$(WindowsSdkDir)宏它可能仍然指向舊的sdk目錄。

1

也許你RC.EXE中缺少這個路徑:

c:\program files\microsoft sdks\windows\v6.0a\bin\rc.exe 

如果這是你的問題,你可以複製從你朋友的電腦這個應用程序。嘿嘿..

5

臭名昭著的原因:錯誤產卵 'RC.EXE'

  • 您剛安裝了Visual Studio 2008(VS2008)
  • 然後盡職盡責帶有Service Pack 1補丁(SP1 )
  • 並發現VS的環境變量搞砸了,像$(WindowsSdkDirs)。

當服務包沒有正確地告訴註冊表在哪裏可以找到安裝目錄時,會發生這種情況。爲了解決這個問題:

  • 關閉Visual Studio 2008中
  • 開始>運行>註冊表編輯器
  • 導航到HKEY_LOCAL_MACHINE \ SOFTWARE \微軟\微軟的SDK \的Windows
  • 添加一個名爲CurrentInstallFolder新的字符串值 (如果它不在那裏)
  • 給這個鍵值C:\ Program Files \ Microsoft SDKs \ Windows \ v6。0A \(或安裝它的任何地方)

當您重新啓動VS2008時,您應該能夠正確編譯您的程序。

1

我意識到這是舊的,但我通過在安裝Windows SDK時檢查「工具」選項來修復相同的錯誤。這是默認選擇的,我已經移除了它,假設將使用Visual Studio的工具。

(使用Windows SDK 7.1)

+0

是的,顯然在Visual Studio 2008(msvc-9.0)中,它們允許你安裝C/C++編譯器,而不需要實際構建東西所需的win32工具。 – teeks99 2013-12-04 15:03:17

0

沒有什麼在註冊表中做,也沒有在Visual Studio設置! 你會發現這個問題有很多誤導和錯誤的答案!

有關該問題的詳細說明,請參見下面的鏈接。 丟失的文件也可以在那裏下載。

http://netcult.ch/elmue/Error_spawning_rc.exe.htm

0

我也有這種情況。

從閱讀Elmue的回答(本頁其他地方),我發現它是由於我安裝了VS2008 + VS2010 + SDK,然後卸載所有文件並手動刪除一些文件夾。在非標準文件夾中重新安裝VS2008和SDK後,RC.EXE文件根本就不存在,安裝中有些註冊表項指向SDK默認文件夾(而不是我使用的非標準文件夾)。更正註冊表項不起作用。在運行修復安裝SDK它只是「糾正」條目再次指向錯誤的方向,但RC.EXE仍然沒有安裝。

最後,我不得不忍受苦澀的蘋果:卸載一切,並在其標準文件夾中重新安裝SDK + VS2008。然後它工作!