0

我有一个问题,我真的不知道如何解决它。我正在尝试使用 Jenkins 构建一个项目。我们构建机器上安装的 IDE 是 Embarcedero C++ Builder XE。这是在构建状态下配置的项目。\

MSBuildVersion:MSBuild 2.0 MSBuild 构建文件:testProject\Platforms\Common\AuthoringTool\FrontEnd\testProject.cbproj 命令行参数:/t:Clean;Make /p:Config=Release

更新:部分问题出在帐户上。我们将 Jenkins 更改为作为服务运行,但它的路径错误。这已得到修复,但现在我遇到了 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 工作区,所有文件都位于正确的位置。任何有关如何解决此问题的建议将不胜感激。

4

2 回答 2

1

验证“imlib”是否在您的系统路径上。

这可以通过在 PostBuildEvent 中回显 %PATH% 来完成。如果它不在路径上,您可以将其添加到环境中,或使用 Jenkins 自动引用该位置。

另一种选择是显式执行命令,而不是假设它会在路径上......

即,将您的 PostBuildEvent 更新为...

cd c:\jenkins\workspace\testProject\testProject\Platforms\Common\AuthoringTool\Image\
C:\<path_to_implib_command>\implib testProject.lib vat.exe
于 2012-04-27T13:10:00.233 回答
0

我能够通过使用“将环境变量注入构建过程”以及 implib 的路径来解决它。我不知道为什么彼得解决方案不起作用。似乎应该有。

于 2012-04-27T16:22:10.657 回答