2014-10-02 123 views
2

我试图编译一个非常简单的ADA代码。一切工作就像一个魅力,但在一台计算机上我的可执行文件是动态链接到libgnat而在另一台计算机上它静态链接。在这两种情况下,我使用gnatmake工具。动态链接libgnat

任何想法为什么会发生? 你知道一种强制GNAT动态链接库的方法吗?

+0

哪个Gnat版本,哪个OS?是静态链接的一个mingw(对于Windows?) – 2014-10-02 20:43:22

+0

@BrianDrummond Linux只。 libgnat-4.9 – Rafal 2014-10-04 08:02:55

回答

3

这将是活页夹的-shared开关。如果您使用的是项目文件,您可以使用:

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

end Foo;

+0

这个失败:'''gnatbind:invalid switch:--shared''' – Rafal 2014-10-04 08:02:10

+0

好的,它可以与''-shared''切换。 – Rafal 2014-10-04 15:21:22

+0

修复了我的回覆,谢谢! – manuBriot 2014-10-05 06:23:13