error PRJ0019: 某个工具从以下位置返回了错误代码: "正在执行自定义生成步骤" ( custom build steps error)

error PRJ0019: 某个工具从以下位置返回了错误代码: "正在执行自定义生成步骤"  

       对于新手来说“”自定义生成步骤”是一个比较陌生的错误,首先要知道,这是VC工程的中的一个选项。位置就在(以vs2008为例)项目--》属性--》 配置属性--》自定义生成步骤(注意这个属性一般是文件(version.h)级的,而非工程级(A.vcproj)的)。

       通常,这个选项的作用是在工程编译之前,首先调用外部命令或者批处理命令生成一些工程编译时需要的文件。

例如: A.vcproj

              |_    Main.c

              |_    version.h

              |_    curVer.c

           A工程,其中的curVer.c 文件,是通过调用我自己写的批处理程序 MakeNewVersion.bat 对version.h进行处理来生成的。  那么我们需要在version.h文件上右键--》属性--》自定义生成步骤中添加参数如下:

               命令行: ”$(InputDir)MakeNewVersion.bat“ ”$(ProjectPath)version.h”

               说明 : 默认

               输出: “($Path)curVer.c”               注意:如果没有添加此项,自定义生成步骤将不会生效

               附加依赖项: ”$(ProjectPath)version.h”   此项是命令行中需要的参数

保存!这样在编译工程A的时候,会优先编译出curVer.c再进行整个工程的编译。


错误排查:error PRJ0019: 某个工具从以下位置返回了错误代码: "正在执行自定义生成步骤"  

原因:通常这个错误至的是命令行无法被正确解析。这个问题容易出现在从VC6转移到VC2008等更高级编译上的时候出现。由于对宏解析的不同,造成语法出现问题。

解决办法:在VC6中的命令行没有双引号 $(InputDir)MakeNewVersion.bat  $(ProjectPath)version.h

                     更新到VC2008中需要在有宏定义的位置手动添加双引号  ”$(InputDir)MakeNewVersion.bat“ ”$(ProjectPath)version.h”


更具体的注意事项可以参考MSDN:

https://msdn.microsoft.com/zh-cn/library/hefydhhy(VS.80).aspx


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章