3

私は 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;

私は、同様の単純さを備えた他のものを試してみましたが、ウェブ上で他のより複雑なものを見つけましたが、実際に機能するのは 1 つだけです。

とにかく、ビルドしようとすると次のエラーが発生します。

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'
4

2 に答える 2

2

あなたは何と言っています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;
于 2013-06-13T17:24:47.847 に答える