Delphi编译器选项

Delphi编译器选项,delphi,compiler-construction,params,Delphi,Compiler Construction,Params,编译Delphi应用程序时,您需要在配置$(配置)\$(平台)中使用一些参数,将编译后的文件放在Release\Win32中 是否有任何参数为我提供DPR文件中所述的程序名(这也是exe文件的名称) 让我更清楚地知道我想要什么: 我希望所有已编译的exe都放在一个名为C:_Delphi_compiled\Projectname\Config\Platform的文件夹中(使用我进一步提到的项目,它将是C:_Delphi_compiled\GUIDmaker\Release\Win32) 这将使我能

编译Delphi应用程序时,您需要在配置$(配置)\$(平台)中使用一些参数,将编译后的文件放在Release\Win32中 是否有任何参数为我提供DPR文件中所述的程序名(这也是exe文件的名称)

让我更清楚地知道我想要什么: 我希望所有已编译的exe都放在一个名为C:_Delphi_compiled\Projectname\Config\Platform的文件夹中(使用我进一步提到的项目,它将是C:_Delphi_compiled\GUIDmaker\Release\Win32)
这将使我能够更好地控制我的项目exe文件和DCU文件

$EXENAME
是项目输出文件的名称(
Project1.exe
用于应用程序,
Project1.dll
用于库等)


$PROJECTFILENAME
是您的DPR文件名

请查看我的答案:
\$(平台)\$(配置)\$(MSBuildProjectName)
这将为您提供所需的信息。

还有
Application.ExeName
,但如果由dll调用,则返回调用exe的名称,而不是dll的名称


+1好发现。当然语法是
$(EXENAME)
$(PROJECTFILENAME)
。我找不到他们的文件。另外,我试图在生成后脚本中使用
$(EXENAME)
,但该变量为空。@DavidHeffernan我在
配置工具
菜单中找到了该列表。我已经尝试了这两种工具,但这两种工具都不能使用。他们不会像$(Config)和$(Platform)一样创建任何文件夹@OZ8HP不,他们不会创建任何文件夹。他们为什么要这样做?它们是项目和输出文件的名称。因为我使用它们作为输出目录的参数,所以您知道项目的名称。硬编码到输出目录中。我知道这一点,但我必须记得每次创建新项目时都这样做。如果我可以使用params,我可以将其保存为标准,而不必再担心。我一点也不年轻:-@David one可能有几个DPR文件具有不同的功能集(免费、试用、lite、pro等),并且具有其他同步设置。使用$(MSBuildProjectName)时有一个问题—当您尝试F9I时,编译器将不会运行输出。我不确定您的意思是什么。但是,如果您需要扩展名为的完整路径,您可能希望尝试:$(OutputPath)。如果您只需要扩展名,请尝试:$(OutputExt)当我使用$(MSBuildProjectName)作为输出名的一部分时,我可以生成项目OK,但如果我按F9从IDE运行它,则会出现一个错误,如>>找不到程序,'C:\U Delphi\U Compiled\%MSBuildProjectName%\GUIDmaker.exe',如果您将二进制输出路径设置为“C:\Delphi\Compiled”\$(MSBuildProjectName)\$(Config)\$(Platform)“您应该得到您想要做的是,但是我收到一个错误,告诉我在按F9从IDE运行我的项目时找不到该文件