【发布时间】:2013-10-31 17:13:19
【问题描述】:
我正在尝试使用命令行运行程序在 TeamCity (http://www.jetbrains.com/teamcity/) 中编译 Delphi 项目。对于每个项目,我都会收到“文件名太长”错误。项目在 Delphi IDE 中成功编译。我什至尝试从 buildagent 目录构建项目(在本例中:C:\TeamCity\buildAgent\work\cbe5a74bfd8678cb\iqwin_2013\Iqworkflow),它也在那里编译。这个特定的命令行构建过去也曾在不同的环境中工作过。
错误:
[15:18:45]Step 2/50: iqworkflow (Command Line)
[15:18:45][Step 2/50] Starting: C:\TeamCity\buildAgent\temp\agentTmp\custom_script5211313096540988416.cmd
[15:18:45][Step 2/50] in directory: C:\TeamCity\buildAgent\work\cbe5a74bfd8678cb\iqwin_2013\Iqworkflow
[15:18:45][Step 2/50] Embarcadero Delphi for Win32 compiler version 22.0
[15:18:45][Step 2/50] Copyright (c) 1983,2010 Embarcadero Technologies, Inc.
[15:18:45][Step 2/50] Error: E2288 File name too long (exceeds 260 characters)
[15:18:45][Step 2/50] Error: E2288 File name too long (exceeds 260 characters)
[15:18:45][Step 2/50] Error: E2288 File name too long (exceeds 260 characters)
[15:18:45][Step 2/50] Error: E2288 File name too long (exceeds 260 characters)
[15:18:45][Step 2/50] IQWorkflow.dpr(1) Fatal: F1027 Unit not found: 'System.pas' or binary equivalents (.dcu)
[15:18:45][Step 2/50] Process exited with code 1
[15:18:45][Step 2/50] Step iqworkflow (Command Line) failed
- System.pas 可以在
C:\Program Files (x86)\Embarcadero\RAD Studio\8.0\source\rtl\sys中找到
【问题讨论】:
-
没有超过 260 个字符的文件名(完整路径)。我不认为有任何甚至超过 100 个字符。我认为它与传入的命令行参数有关,但这只是一个猜测。
-
必须有一个我们在这里看不到的文件名。当您双击这 4 条错误消息之一时,它会将您带到您的代码中的哪个位置?
-
这些错误消息来自 TeamCity,因此无法深入了解。就像我提到的,该项目在同一台机器上的 Delphi IDE 中成功构建。
-
等等,“Unit not found: 'System.pas'”让我觉得是你的 IDE 出了问题,而不是你的项目。
-
也许你可以提供那个
custom_script5211313096540988416.cmd的内容?它可以解释这个问题。