如何在Ada的gnat gprbuild中链接库?

5

在我正在处理的多语言GPRBuild项目中,我需要将一些c++库文件(*.a)链接到我的可执行文件中。是否有一个gpr属性可以告诉它要链接什么内容,或者有任何方法传递-l -L开关给链接器?

2个回答

10
甚至更好的是:
Project my_library is
  For externally_built use "true";
  For library_dir use "/where/ever";
  For library_name use "mylibname";
  For source_dirs use (); -- no sources.
  For library_kind use "static";
  -- if it is a static lib .a

  -- for library_kind use "dynamic";
  -- if it is an so.
End my_library;

在应用程序项目中。 使用 "my_library.gpr";


尽管我的回答直接回应了丹尼尔的问题,但你的确提供了一个更好的解决方案;例如,可能会有几个应用项目。 - Simon Wright

10

在主项目文件中,

package Linker is
   for Default_Switches ("Ada") use ("-L/where/ever", "-lbar");
end Linker;

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接