我有一个问题,我真的不知道如何解决它。我正在尝试使用Jenkins构建一个项目。我们的构建机器上安装的IDE是Embarcedero C ++ Builder XE。 这是项目在构建状态下配置。\
MSBuildVersion:MSBuild 2.0 MSBuild构建文件:testProject \ Platforms \ Common \ AuthoringTool \ FrontEnd \ testProject.cbproj 命令行参数:/ t:清理;生成/ p:配置=释放
更新:部分问题在于帐户。我们改变了詹金斯作为服务运行,它的路径越来越错。这已得到修复,但现在我遇到了postbuildevent错误。
Target PostBuildEvent:
cd c:\jenkins\workspace\testProject\testProject\Platforms\Common\AuthoringTool\Image\
implib testProject.lib vat.exe
'implib' is not recognized as an internal or external command,
operable program or batch file.
C:\Program Files\Embarcadero\RAD Studio\8.0\bin\CodeGear.Common.Targets(194,5): error MSB3073: The command "cd c:\jenkins\workspace\testProject\testProject\Platforms\Common\AuthoringTool\Image\
C:\Program Files\Embarcadero\RAD Studio\8.0\bin\CodeGear.Common.Targets(194,5): error MSB3073: implib testProject.lib testProject.exe" exited with code 9009.
在项目“testProject.cbproj”中完成构建目标“PostBuildEvent” - 失败。
完成建筑项目“testProject.cbproj” - 失败。
当我尝试手动构建项目时,项目成功编译。我还检查了Jenkins工作区,所有文件都在正确的位置。任何有关如何解决这个问题的建议将不胜感激。
答案 0 :(得分:1)
验证'implib'是否在您的系统路径上。
这可以通过回显PostBuildEvent中的%PATH%来完成。如果它不在路径上,您可以将其添加到环境中,或使用Jenkins自动引用该位置。
另一种选择是显式执行命令而不是假设它将在路径上......
即,将PostBuildEvent更新为...
cd c:\jenkins\workspace\testProject\testProject\Platforms\Common\AuthoringTool\Image\
C:\<path_to_implib_command>\implib testProject.lib vat.exe
答案 1 :(得分:0)
我能够通过使用“向构建过程注入环境变量”来解决它,并使用implib的路径。我不知道为什么彼得解决方案不起作用。它似乎应该有。