分发Boost Library?

时间:2009-09-11 16:50:56

标签: c++ boost distribution

我对使用boost非常陌生,在使用boost时,我似乎无法在任何地方找到有关如何分发应用程序的文档?

许多库都是共享库,我不希望我的用户安装了boost,我只使用一个库(regex)所以有一种简单的方法可以将regex库与我的应用程序打包而无需编译使用静态版本?

1 个答案:

答案 0 :(得分:8)

的Linux

对于二进制分发,我建议使用分发的包管理,它应该处理任何依赖关系。 一些商业应用程序只使用二进制blob,你需要自己安装一个版本的boost。

在Linux上查找库有点困难。如果它们在编译时链接,则它不会自动从当前目录加载共享对象(而不是在运行时使用dlopen加载)。

您必须使用LD_LIBRARY_PATH env变量或使用rpath。两者都有它的缺点。

没有办法包括dll。通常的方法是将所有内容放入目录并将其压缩。

两个

要从源代码构建,无论如何都需要增强源,因此不需要包含库。

无论如何,boost中的大多数库都是标题,regexp不是其中之一。为此模块包含dll应该足够了。 在Linux中,您可以使用以下命令检查编译二进制文件的共享库:

ldd binary