【问题标题】:Building a makefile based dependency in a boost-build (b2) project在 boost-build (b2) 项目中构建基于 makefile 的依赖项
【发布时间】:2014-03-23 18:23:01
【问题描述】:

我正在使用 boost-build 来构建我的项目,但我添加了一个库作为使用 GNU make 构建的依赖项。如果我手动构建这个库,我可以使用这个简单的Jamfile 将它链接到我在 boost build 中的项目:

lib hts
  : 
  : <link>static <file>lib/lib.a
  :
  : <include>lib_headers 
;

如果lib/lib.a 不存在,有没有办法告诉boost-build 在目录上运行make?

【问题讨论】:

    标签: c++ boost makefile boost-build


    【解决方案1】:

    在 Boost 邮件列表的帮助下,我们提出了这个解决方案。首先,您创建一个使用 make 构建库的操作。然后你添加一个“make”目标来教 boost-build 如何使用你刚刚创建的动作来创建静态库。然后创建一个 boost-build 可以依赖的别名,并与 Jamfile 的其余部分很好地配合使用。

    path-constant lib_dir : lib ;
    actions external-make
    {
      cd $(lib_dir) && make
    }
    make lib.a : : @external-make : <location>lib_dir ;
    alias hts
      : lib.a
      : <link>static
      :
      : <include>lib_headers
    ;
    

    在您的构建中,您可以使用“hts”作为此库的目标。

    【讨论】:

      猜你喜欢
      • 2011-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-11-07
      • 2013-01-30
      • 2020-07-24
      • 1970-01-01
      • 2021-02-24
      • 1970-01-01
      相关资源
      最近更新 更多