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

「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
于 2012-04-27T13:10:00.233 に答える
0

「ビルドプロセスに環境変数を注入する」を使用して、implibへのパスで解決できました。ピーターのソリューションが機能しなかった理由はわかりません。あるべきだったようです。

于 2012-04-27T16:22:10.657 に答える