【问题标题】:Ada: gnat gprbuild How to link in libraries?Ada: gnat gprbuild 如何在库中链接?
【发布时间】:2012-09-17 17:04:37
【问题描述】:

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

【问题讨论】:

    标签: ada gnat


    【解决方案1】:

    甚至更好:

    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”;

    【讨论】:

    • 虽然我的回答直接针对丹尼尔的问题,但你的确实是对丹尼尔问题的更好的整体解决方案;例如,可能有多个应用程序项目。
    【解决方案2】:

    在主项目文件中,

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-09-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-01-08
      • 2021-07-16
      • 1970-01-01
      相关资源
      最近更新 更多