请看看下面的代码不能用于文件
Formula.ads
package Formula is
procedure CalculateFormula;
end Formula;
Formula.adb
with Ada.Text_IO; use Ada.Text_IO;
with Formula; use Formula;
package body Formula is
procedure CalculateFormula is
package fom_io is new Ada.Float_Text_IO(Float);
use fom_io;
u : Float;
t : Float;
a : Float;
answer : Float;
begin
put_line("Enter 'U'");
get(u);
put_line("Enter 'T'");
get(t);
put_line("Enter 'A'");
get(a);
answer = (u*t)+ 0.5(a(t*t));
put("Answer is: ");
put(answer,Fore => 1,Aft => 1,Exp => 1);
end CalclualeFormula;
end Formula;
当我运行这段代码生成代码,我收到以下错误
gnatmake -d -PC:\Users\yohan\Documents\Ada\Formula\formula.gpr
gcc -c -I- -gnatA C:\Users\yohan\Documents\Ada\Formula\formula.ads
cannot generate code for file formula.ads (package spec)
gnatmake: "C:\Users\yohan\Documents\Ada\Formula\formula.ads" compilation error
[2013-04-06 03:18:22] process exited with status 4 (elapsed time: 00.22s)
我对Ada很新。开始编码几个小时后。请帮我摆脱上述问题。谢谢。
编辑
formula.gpr
project Formula is
for Main use ("formula.ads");
end Formula;
我想我们需要看你的.gpr文件。但有几点:包体不需要“与”它自己的规范。虽然你可以编译一个.ads文件(spec)来检查语法,但是你不能从它生成代码,这就是msg发出的错误信息。通常情况下,您只需编译主程序单元,并且所有必要的软件包编译都是自动完成的。 – 2013-04-05 21:56:15
@BrianDrummond:谢谢你的回复。请参阅编辑 – 2013-04-05 22:02:50
@BrianDrummond:感谢您的回复。请参阅编辑 – 2013-04-05 22:08:03