GPS中的Ada编程
我是一个既使用ada语言又使用GPS的初学者。我似乎找不到任何可靠的教程来帮助学习ada或GPS,但这不是我的问题 我尝试过各种简单的程序,比如:GPS中的Ada编程,ada,gnat-gps,Ada,Gnat Gps,我是一个既使用ada语言又使用GPS的初学者。我似乎找不到任何可靠的教程来帮助学习ada或GPS,但这不是我的问题 我尝试过各种简单的程序,比如: with Win32.crt.Math; with Interfaces.C; procedure sqrt is X : Interfaces.C.Double; begin X := Win32.crt.Math.sqrt(x => 4.0) ; end sqrt; 我尝试过其他类似的简单方法,并在网络上找到了其他更复杂的方法,而
with Win32.crt.Math;
with Interfaces.C;
procedure sqrt is
X : Interfaces.C.Double;
begin
X := Win32.crt.Math.sqrt(x => 4.0) ;
end sqrt;
我尝试过其他类似的简单方法,并在网络上找到了其他更复杂的方法,而我只找到了一种有效的方法
无论如何,我在尝试构建时会遇到以下错误:
gnatmake -d -PC:\Users\bqw3960\Desktop\GPS2012\2-two\sqrt.gpr sqrt.adb
gnatbind -x sqrt.ali
gnatlink -o c:\users\bqw3960\desktop\gps2012\2-two\sqrt.exe sqrt.ali
C:\GNAT\Bindings\Win32Ada\win32-crt-math.o(.text+0x1a):win32-crt-math.adb: undefined
reference to `__imp__HUGE'
gnatlink: cannot call C:\GNAT\bin\gcc.exe
gnatmake: *** link failed.
[2013-06-13 10:53:18] process exited with status 4 (elapsed time: 00.51s)
我认为这很简单,但我似乎无法理解
在我第一次更改某些内容后尝试编译时,有时也会遇到这样的情况:
gcc.exe: unrecognized option `-ws'
你的
sqrt.gpr
怎么说?我刚刚试过这个,然后gnatlink
步骤说
gnatlink "C:\Documents and Settings\Simon\sqrt.ali" C:\GNAT\2012\lib\win32ada\static\libwin32ada.a -o "C:\Documents and Settings\Simon\sqrt.exe"
这和你的完全不同。。。而且成功了
我的sqrt.gpr
说
with "win32ada";
project Sqrt is
for Main use ("sqrt.adb");
end Sqrt;
这是因为您的sqrt过程仍在运行,并且您正在尝试同时编译解决方案和运行过程。暂停程序的执行,然后尝试编译。它应该按预期工作。普通的旧程序是否编译和链接?安装Win32绑定似乎有点问题。是的,我只有一两个工作程序,hello world,然后是一个hello world,带有get(x)和while循环,让人猜一猜,这就是我所能做的工作。从Amazon上下载一本旧的Ada 95书籍,包括运费在内,你只需5美元就可以买到。对于深入的研究,你需要巴恩斯关于Ada 2005的书,没有办法。我的书看起来一样,只是没有第一行,我试着把它添加到那里,但它说“win32ada”是一个未知的项目文件我正在使用Windows XP。当我安装我从中获得的
win32ada
时,它说它找不到可用的Ada编译器,并要求我浏览到某个位置,为我提供C:\GNATPRO
。我把它改为C:\GNAT\2012
,它安装在那里(我看到你的等价物是C:\GNAT
——你的编译器二进制文件在C:\GNAT\bin
,我的在C:\GNAT\2012\bin
),包括一个win32ada.gpr
,在GNAT希望找到它的地方。没有Bindings\Win32Ada
目录的痕迹;我想知道你是怎么到那里的?