【问题标题】:How do you specify the name of the executable in your gprfile? Can it be above the gprfile's directory?如何在 gprfile 中指定可执行文件的名称?它可以在 gprfile 的目录之上吗?
【发布时间】:2020-10-19 09:27:19
【问题描述】:

此信息在其他地方可用,但未合并到此特定用例,因此我觉得需要我(和其他人)可以参考的 stackoverflow 自我回答。如果我遗漏了什么,请随时添加您自己的答案。

project some_project is
   for Source_Dirs use ("src");
   for Object_Dir use "obj";
   for Main use ("main.adb");

   package Compiler is
      for Default_Switches ("ada") use ("-O1", "-gnatwae");
   end Compiler;
end some_project;

我想让这个生成../some_program_name.exe。如何指定此 gpr 项目将生成的可执行文件的名称?可以在上面的目录吗?

【问题讨论】:

  • 没有理由将主程序称为main 或住在main.adb。所以最简单的方法是在文件some_program.adb中命名过程some_program
  • 我不喜欢重复自己。如果我需要更改可执行文件的名称,使用您的方法,我需要重命名文件,更改其内容,然后更改 .gpr 文件以引用新文件。我认为我们可以做得比名称的三次重复更好。

标签: ada gprbuild


【解决方案1】:

将此添加到您的 gpr 文件中:

for Exec_Dir use "..";
package Builder is
   for Executable ("main.adb") use "some_program_name";
end Builder;

请注意,如果您使用的是 Windows,则会自动添加 .exe 后缀。

这些信息分散在 Adacore 的 GNAT Project Manager 文档中。

【讨论】:

  • 另外,如果您在 GNAT Studio 中更改此设置,您还需要单击“项目”选项卡中的“刷新”按钮,否则它将使用新名称构建可执行文件,然后运行旧的 main.exe跨度>
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-10-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多