有关error PRJ0003错误的思考
作者:朱金灿
来源:http://blog.csdn.net/clever101
今天同事遇到两个编译错误:
项目: error PRJ0003 : 生成“rc.exe”时出错。
项目: error PRJ0003 : 生成“mt.exe”时出错。
网上搜了下资料,网上的说法是:
1.系统资源不足。关闭一些应用程序以解决此问题。
2.没有足够的安全特权。验证是否有足够的安全特权。
3.VC++ 目录中指定的可执行路径不包括您正尝试运行的工具的路径。
第一条和第二条的可能性较少。VC编译工程本质是调用编译链接程序,其中rc.exe编译资源脚本文件,mt.exe负责生成清单文件。既然调用它们出错,一种可能是找不到rc.exe和mt.exe,另一种可能是rc.exe和mt.exe不存在(VS的安装不全部成功有可能造成rc.exe和mt.exe)。安装VS2008后,rc.exe和mt.exe的安装路径一般在C:\ProgramFiles\Microsoft SDKs\Windows\v6.0A\Bin(x64版的工具在C:\Program Files\Microsoft SDKs\Windows\v6.0A\Bin\x64)。首先你先检查C:\Program Files\Microsoft SDKs\Windows\v6.0A\Bin下是否有rc.exe和mt.exe,如果存在,就将C:\ProgramFiles\Microsoft SDKs\Windows\v6.0A\Bin添加到“工具”菜单栏——“选项”——项目和解决方案——“VC++目录”——“可执行文件”的路径列表上,如下图:
如果真是rc.exe和mt.exe缺失,可能把别人相同版本的rc.exe和mt.exe拷贝过来,注意拷贝rc.exe时需要把同一目录下的RcDll.Dll也拷贝过来。还有一种可能是因为机器中毒,rc.exe或mt.exe被损坏,可以先用命令行运行rc.exe或mt.exe,如果没法运行,比如出现系统无法执行指定的程序的错误,可以把别的机器能正常运行的rc.exe或mt.exe拷贝到同一路径下覆盖原有的文件。