有關(guān)error PRJ0003錯(cuò)誤的思考記錄
作者:朱金燦
?
??? ??? 今天同事遇到兩個(gè)編譯錯(cuò)誤:
項(xiàng)目: error PRJ0003 : 生成“rc.exe”時(shí)出錯(cuò)。
?
項(xiàng)目: error PRJ0003 : 生成“mt.exe”時(shí)出錯(cuò)。
??? 網(wǎng)上搜了下資料,網(wǎng)上的說法是:
?
1.系統(tǒng)資源不足。關(guān)閉一些應(yīng)用程序以解決此問題。
?
2.沒有足夠的安全特權(quán)。驗(yàn)證是否有足夠的安全特權(quán)。
?
3.VC++ 目錄中指定的可執(zhí)行路徑不包括您正嘗試運(yùn)行的工具的路徑。
?
第一條和第二條的可能性較少。VC編譯工程本質(zhì)是調(diào)用編譯鏈接程序,其中rc.exe編譯資源腳本文件,mt.exe負(fù)責(zé)生成清單文件。既然調(diào)用它們出錯(cuò),一種可能是找不到rc.exe和mt.exe,另一種可能是rc.exe和mt.exe不存在(VS的安裝不全部成功有可能造成rc.exe和mt.exe)。安裝VS2008后,rc.exe和mt.exe的安裝路徑一般在C:ProgramFilesMicrosoft SDKsWindowsv6.0ABin(x64版的工具在C:Program FilesMicrosoft SDKsWindowsv6.0ABinx64)。首先你先檢查C:Program FilesMicrosoft SDKsWindowsv6.0ABin下是否有rc.exe和mt.exe,如果存在,就將C:ProgramFilesMicrosoft SDKsWindowsv6.0ABin添加到“工具”菜單欄——“選項(xiàng)”——項(xiàng)目和解決方案——“VC++目錄”——“可執(zhí)行文件”的路徑列表上,如下圖:
?????? 如果真是rc.exe和mt.exe缺失,可能把別人相同版本的rc.exe和mt.exe拷貝過來,注意拷貝rc.exe時(shí)需要把同一目錄下的RcDll.Dll也拷貝過來。還有一種可能是因?yàn)闄C(jī)器中毒,rc.exe或mt.exe被損壞,可以先用命令行運(yùn)行rc.exe或mt.exe,如果沒法運(yùn)行,比如出現(xiàn)系統(tǒng)無法執(zhí)行指定的程序的錯(cuò)誤,可以把別的機(jī)器能正常運(yùn)行的rc.exe或mt.exe拷貝到同一路徑下覆蓋原有的文件。