我正在使用boost-build来构建我的项目,但是我已经添加了一个库作为一个依赖项,它是使用GNU构建的。如果我手动构建这个库,我可以使用这个简单的Jamfile将它链接到boost build中的项目。
lib hts
:
: <link>static <file>lib/lib.a
:
: <include>lib_headers
;如果没有lib/lib.a,是否有一种方法可以告诉boost-build在目录上运行make?
发布于 2014-03-30 22:44:09
在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“作为此库的目标。
https://stackoverflow.com/questions/22595084
复制相似问题