使用makefile构建特定的Boost库

时间:2018-02-13 15:55:23

标签: c++ boost makefile build linker

我试图将boost::filesystem库包含到项目中。 该项目必须在不同的架构上运行,所以我不想链接到我的ubuntu机器上安装的boost库。

大多数提升只是标题,所以我只需要包含它而不用担心构建它。但是文件系统库只是NOT头,我必须为它构建二进制文件。

这样做很简单,只需使用-I标志传入标头,并在链接状态期间,传入位置以使用-L搜索二进制文件并使用-l指定库。

但我不想使用系统标头和二进制文件。

所以我使用boost提供的boost::filesystem工具保留了项目中bcp标题的副本。

我能够做到这一点,并且我有一个子目录lib/fs/boost/filesystem

当我尝试构建一个依赖于文件系统的cpp文件时,编译器能够找到标题,一切正常。

但在连接状态期间。它无法找到二进制文件并且构建失败。

那么如何构建boost::filesystem

1)我找到了bootstrap.shb2方法。我不知道如何使用它与bcp工具。我正在从boost root构建库。

但这种方法的一个缺点是,我使事情复杂化。在运行我的makefile之前,我必须运行bootstrap和b2来获取二进制文件。它看起来并不干净,我想避免这种情况。

2)是否有可用于构建boost::filesystem的makefile规则。该项目是使用makefile构建的,如果我可以指定一个规则来构建文件系统,然后链接生成的二进制文件,那就太棒了。

我在网上搜索,但我找不到构建boost库的makefile。你能指点我找到这样一个makefile的地方吗?

问题很冗长,但我只是这样做,以确保我没有做出任何错误的假设。

非常感谢。

0 个答案:

没有答案