2014-10-02 9 views
2

매우 간단합니다. ADA 코드를 컴파일하려고합니다. 모든 것은 매력처럼 작동하지만 한 컴퓨터에서는 실행 파일이 동적으로 libgnat 인 반면 다른 컴퓨터에서는 정적으로 링크됩니다. 두 경우 모두 gnatmake 도구를 사용합니다.동적으로 libgnat에 연결

왜 이런 일이 발생하는지 알고 싶습니다. GNAT가 라이브러리를 동적으로 링크하도록 강제하는 방법을 알고 있습니까?

+0

어떤 Gnat 버전입니까? OS는 무엇입니까? 정적으로 링크 된 것 (Windows의 경우) –

+0

@BrianDrummond Linux에만 해당합니다. libgnat-4.9 – Rafal

답변

3

바인더의 -shared 스위치입니다. 프로젝트 파일을 사용하는 경우 다음을 사용할 수 있습니다.

project Foo is 
    ... 
    package Binder is 
     for Switches ("Ada") use ("-shared"); 
    end Binder; 

end Foo;

+0

다음과 같이 실패합니다 :'''gnatbind : 무효 스위치 : --shared''' – Rafal

+0

좋아요, 스위치''-shared''와 함께 작동합니다 – Rafal

+0

답장을 고쳤습니다. – manuBriot