2013-06-13 4 views
3

나는 GPS를 사용하는 것뿐만 아니라 ada 언어를 사용하는 초보자입니다. 나는 ada 또는 GPS를 배우는 데 도움이되는 견고한 튜토리얼을 찾지 못했지만 내 질문은 아닙니다.GPS에서 Ada 프로그래밍

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' 
+0

평범한 [Hello World] (http://en.wikipedia.org/wiki/Ada_%28programming_language%29#.22Hello.2C_world.21.22_in_Ada) 프로그램을 컴파일하고 링크합니까? Win32 바인딩 설치시 문제가되는 것 같습니다. –

+0

그래, 난 단지 하나 또는 두 가지 작업 프로그램, 안녕하세요 세계, 그리고 안녕하세요 세계 (getX)와 잠깐 사람의 추측을 가지고있는 루프, 내가 그럭저럭 일할 수있는 모든 것을 가지고있다 – Ben

+0

아마존에서 사용 된 오래된 Ada 95 책 중 하나를 얻으십시오. 배송비를 포함하여 5 $에 구입할 수 있습니다. 심도있는 연구를 위해 2005 년 Ada에 관한 Barnes의 책이 필요합니다. –

답변

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은 SQRT 절차가 계속 실행되고 당신이 모두 컴파일 솔루션을 동시에 프로 시저를 실행하려고하고 있기 때문에

with "win32ada"; 
project Sqrt is 
    for Main use ("sqrt.adb"); 
end Sqrt; 
+0

광산이 첫 번째 라인이 없어도 똑같이 보입니다. 그냥 거기에 추가하려고했지만 "win32ada"는 알 수없는 프로젝트 파일입니다. – Ben

+0

Windows XP를 사용하고 있습니다. [Libre 웹 사이트] (http://libre.adacore.com)에서 얻은'win32ada '를 설치했을 때 작동하는 Ada 컴파일러를 찾을 수 없다고 말하며 나에게 위치를 찾도록 요청했습니다. 나에게'C : \ GNATPRO'을 제공했다. 나는 이것을'C : \ GNAT \ 2012'로 바꾸었고 그 밑에 설치되었습니다 (당신의 동등 물은'C : \ GNAT'이 될 것입니다 - 당신의 컴파일러 바이너리는'C : \ GNAT \ bin'에 있고, C : \ GNAT \ 2012 \ bin') GNAT가 찾길 기대하는 위치에'win32ada.gpr'을 포함합니다. 'Bindings \ Win32Ada' 디렉토리의 흔적은 없습니다; 네가 어떻게 거기에 있었는지 궁금해? –

0

이 말했다. 프로그램 실행을 중단하고 컴파일을 시도하십시오. 예상대로 작동해야합니다.

+0

이것은 완전히 잘못되었습니다. –