我试图将boost::filesystem
库包含到项目中。
该项目必须在不同的架构上运行,所以我不想链接到我的ubuntu机器上安装的boost库。
大多数提升只是标题,所以我只需要包含它而不用担心构建它。但是文件系统库只是NOT头,我必须为它构建二进制文件。
这样做很简单,只需使用-I标志传入标头,并在链接状态期间,传入位置以使用-L搜索二进制文件并使用-l指定库。
但我不想使用系统标头和二进制文件。
所以我使用boost提供的boost::filesystem
工具保留了项目中bcp
标题的副本。
我能够做到这一点,并且我有一个子目录lib/fs/boost/filesystem
。
当我尝试构建一个依赖于文件系统的cpp文件时,编译器能够找到标题,一切正常。
但在连接状态期间。它无法找到二进制文件并且构建失败。
那么如何构建boost::filesystem
?
1)我找到了bootstrap.sh
和b2
方法。我不知道如何使用它与bcp工具。我正在从boost root构建库。
但这种方法的一个缺点是,我使事情复杂化。在运行我的makefile之前,我必须运行bootstrap和b2来获取二进制文件。它看起来并不干净,我想避免这种情况。
2)是否有可用于构建boost::filesystem
的makefile规则。该项目是使用makefile构建的,如果我可以指定一个规则来构建文件系统,然后链接生成的二进制文件,那就太棒了。
我在网上搜索,但我找不到构建boost库的makefile。你能指点我找到这样一个makefile的地方吗?
问题很冗长,但我只是这样做,以确保我没有做出任何错误的假设。
非常感谢。