【问题标题】:Delphi compiler optionsDelphi 编译器选项
【发布时间】:2012-09-27 11:39:46
【问题描述】:

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

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

【问题讨论】:

  • 你知道你的项目名称。将其硬编码到输出目录中。
  • 我知道这一点,但我必须记住每次创建新项目时都这样做。如果我可以使用参数,我可以将其保存为标准,而不必再担心了。我不再年轻了:-)
  • @David 可能很少有 DPR 文件具有不同的功能集(免费、试用、精简版、专业版......)并且具有同步的其他设置

标签: delphi compiler-construction params


【解决方案1】:

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

$PROJECTFILENAME 是您的 DPR 文件的名称

【讨论】:

  • +1 好发现。当然语法是$(EXENAME)$(PROJECTFILENAME)。我找不到他们的文件。另外,我尝试在构建后脚本中使用$(EXENAME),但该变量为空。
  • @DavidHeffernan 我在Configure Tools 菜单中找到了列表
  • 我都试过了,都不能用。他们不像 $(Config) 和 $(Platform) 那样创建任何文件夹
  • @OZ8HP 不,他们不创建任何文件夹。他们为什么要这样做?它们是您的项目和输出文件的名称。
  • 因为我用它们作为输出目录的参数
【解决方案2】:

在这里查看我的答案:https://stackoverflow.com/a/9597461/978342 \$(Platform)\$(Config)\$(MSBuildProjectName) 这会给你你所需要的。

【讨论】:

  • 使用 $(MSBuildProjectName) 时只有一个问题 - 当您按 F9 尝试时编译器不会运行输出
  • 我不确定你的意思是不会运行。但是,如果您需要带有扩展的完整路径,您可能想尝试:$(OutputPath)。如果您只需要扩展,请尝试:$(OutputExt)
  • 当我使用 $(MSBuildProjectName) 作为输出名称的一部分时,我可以构建项目 OK,但是如果我按 F9 从 IDE 运行它,我会收到类似 >>Could not find program 这样的错误, 'C:_Delphi_Compiled\%MSBuildProjectName%\GUIDmaker.exe'
  • 如果你将二进制输出路径设置为“c:\Delphi\Compiled\$(MSBuildProjectName)\$(Config)\$(Platform)”你应该得到你想要的
  • 我应该这样做,但我收到错误消息,告诉我在按 F9 从 IDE 运行我的项目时找不到文件
【解决方案3】:

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

http://docwiki.embarcadero.com/Libraries/en/Vcl.Forms.TApplication.ExeName

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-08-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多