iQ.*_*iQ. 9 c++ boost distribution
我是使用boost的新手,我似乎无法在使用boost时如何分发应用程序的任何地方找到文档?
许多库都是共享库,我不希望我的用户安装了boost,我只使用一个库(regex)所以有一种简单的方法可以将regex库与我的应用程序打包在一起,而无需使用静态编译版?
对于二进制分发,我建议使用分发的包管理,它应该处理任何依赖关系.一些商业应用程序只使用二进制blob,你需要自己安装一个版本的boost.
在Linux上查找库有点困难.如果它们在编译时链接(而不是在运行时使用dlopen加载),它不会自动从当前目录加载共享对象.
您必须使用LD_LIBRARY_PATH env变量或使用rpath.两者都有它的缺点.
没有办法包括dll.通常的做法是将所有内容放入目录并将其压缩.
要从源代码构建,无论如何都需要boost源,因此不需要包含库.
无论如何,boost中的大多数库都是标题,regexp不是其中之一.为此模块包含dll应该足够了.在Linux中,您可以使用以下命令检查编译二进制文件的共享库:
ldd binary
Run Code Online (Sandbox Code Playgroud)