【发布时间】:2017-02-16 03:35:59
【问题描述】:
我正在努力使用将构建和执行的自定义项目文件,但我收到了这组警告(或错误,我不确定)。在 Clean All 之后,然后当我单击 Build -> Project -> Build All 以打开 Build All 对话框: p>
[2015-01-22 23:30:39] Could not determine the target to build.
[2015-01-22 23:30:39] Could not expand argument in command line: %T
[2015-01-22 23:30:39] Build command not launched.
在我单击“执行”开始构建之前,这些会显示在“消息”窗口中(以红色文本显示)。当我单击 Execute 时,构建成功完成并且程序运行。
Build All 对话框在选项对话框中有这个:
%builder %eL -P%PP %X -k -s -d
这是什么意思,为什么要这样做?
如果有帮助,这里是项目文件:
project LogBuffer01 is
for Source_Dirs use ("src", "src\utilities");
for Object_Dir use "obj";
for Exec_Dir use "exe";
for Main use ("abt_log_buffer_main_b.ada");
package Naming is
for Spec_Suffix ("ada") use "_s.ada";
for Body_Suffix ("ada") use "_b.ada";
for Spec ("abt_mirror_specs") use "abt_mirror_specs_s.ada";
for Spec ("abt_log_buffer_types") use "abt_log_buffer_types_s.ada";
for Spec ("abt_log_buffer") use "abt_log_buffer_s.ada";
for Body ("abt_log_buffer") use "abt_log_buffer_b.ada";
for Spec ("abt_log_buffer_rom_acess") use "abt_log_buffer_rom_access_s.ada";
for Body ("abt_log_buffer_rom_acess") use "abt_log_buffer_rom_access_b.ada";
for Spec ("screen_output") use "screen_output_s.ada";
for Body ("screen_output") use "screen_output_b.ada";
end Naming;
package Pretty_Printer is
for Default_Switches ("ada") use ("-i5");
end Pretty_Printer;
package Compiler is
for Default_Switches ("ada") use ("-gnat83");
end Compiler;
package Builder is
for Default_Switches ("ada") use ("");
end Builder;
package Check is
for Default_Switches ("ada") use ("-d");
end Check;
end LogBuffer01;
【问题讨论】:
-
不确定 Builder.Default_Switches 中的空字符串。您是否需要拥有那些 Spec 和 Body 定义以及 Spec_Suffix、Body_Suffix?我猜如果你指定了 %T 会被 --target=arch-vendor-os 代替,但我不知道为什么 GPS 想要。显然命令行构建器很高兴!哪个版本的 GPS?哪个操作系统? (我猜是 Windows)。