gpt4 book ai didi

delphi - 如何在TeamCity中构建Delphi项目

转载 作者:行者123 更新时间:2023-12-02 10:50:25 25 4
gpt4 key购买 nike

我正在尝试在TeamCity中构建一个delphi项目,但无法使其正常工作。

我正在使用MSBuild来构建项目,并且还向构建中添加了BDS参数,但我不断收到错误消息:MSB4040项目中没有目标。

最佳答案

您需要注意几件事。首先,需要设置Delphi所需的各种环境变量和路径。这大部分是通过rsvars.bat批处理文件完成的,但是您可以自己设置。其次,需要正确设置EnvOptions.proj文件以匹配构建计算机上的环境。该文件位于%APPDATA%\ Embarcadero \ xx,x \中,其中xx.x是您的Delphi版本。

以下带有注释的CMD文件是我用于在TFS环境中构建Delphi XE7应用程序的文件,应与TeamCity和其他构建工具一起使用:-

@echo off
:::
::: Example for Build Delphi Project with MSBuild
:::

echo.
echo using MSBuild from VStudio 2013
echo.
SET MSBUILD_EXE=C:\Program Files (x86)\MSBuild\12.0\bin\MSBuild.exe

echo.
echo A copy of a Delphi installation from a developers machine is ok. MSBuild calls dcc32/dcc64, not the IDE.
echo The build targets are included in "$(DelphiInstallDir)\bin\CodeGear.Delphi.Targets".
echo DefaultTarget is "Make"
echo.

echo.
echo Set Delphi XE7 Vars
echo.

SET BDS=C:\DelphiXE7
SET BDSBIN=%BDS%\bin
SET BDSLIB=%BDS%\lib
SET BDSTMP=%BDS%\Temp

echo.
echo On a local Delphi developer machine the actual used Delphi settings are located here:
echo "%APPDATA%\Embarcadero\BDS\15.0\EnvOptions.proj"
echo.
echo The directories and files included in "EnvOptions.proj" must exist on the build machine!!!
echo.
echo Copy the (maybe modified) Delphi settings on your build machine to %APPDATA%\Embarcadero\BDS\15.0
echo.
MKDIR "%APPDATA%\Embarcadero\BDS\15.0"
COPY /Y /B /V "%BDSTMP%\EnvOptions.proj" "%APPDATA%\Embarcadero\BDS\15.0\EnvOptions.proj"

echo.
echo Set the Delphi Project Vars
echo.
SET PROJECT_SRC=C:\MyProjectSource
SET PLATFORM=Win32
SET CONFIG=Debug

echo.
echo Build Delphi Project with MSBuild
echo.
echo + /p = Parameters for the Delphi Project Build
echo.
echo + /t = Targets to be executed, e.g. Clean and Build
echo.
"%MSBUILD_EXE%" "%PROJECT_SRC%\myProject\myProject1.dproj" /p:Config=%CONFIG%;Platform=%PLATFORM% /t:Clean;Build

IF NOT ERRORLEVEL 0 GOTO ERROR

GOTO END

:ERROR
echo.
echo There were errors!
echo.
pause
EXIT

:END
pause

关于delphi - 如何在TeamCity中构建Delphi项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33564315/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com