使用boost all linux发行版编译C ++

时间:2011-11-18 20:06:10

标签: c++ linux boost distribution

使用boost编译所有发行版的最佳方法是什么?我读过很多文章但却无法真正掌握如何做到这一点。我正在使用代码块,我的程序在我构建它的系统上工作但不在其他发行版上我只是得到一个Segmentation故障(核心转储)我是Linux C ++的初学者。以下是我正在使用的包含。我需要制作一个makefile吗?我不知道如何在每个发行版上制作和安装。基本上是分发程序并使其隐藏的最佳方式。提前致谢

#include <cstdlib>
#include <iostream>
#include <ostream>
#include <fstream>
#include <string>
#include <vector>
#include <sstream>
#include <boost/regex/v4/regex.hpp>
#include <boost/algorithm/string/trim.hpp>
#include <boost/algorithm/string.hpp>
#include <iterator>
#include <map>
#include <stdexcept>
#include <boost/lexical_cast.hpp>

1 个答案:

答案 0 :(得分:0)

基本上,有两种方法可以做到这一点。静态和动态。您可以静态链接所有内容,如果对资源有点浪费,您会没事的。或者,您可以动态链接到特定的libboost-regex.so.41.2.2或当前版本。在后一种情况下,您可能希望包含您正在使用的版本,并使用LD_LIBRARY_PATH将其作为ldd的前缀。

我知道这有点高水平。更具体地说,我需要更多细节。 ldd你的程序(你运行的东西)说什么?可能的问题是,在版本控制方案中,提升与通常的,我们只能打破ABI在第一版本的方案上有点不同。如果你有某种构建文件(我不知道代码块),那也很高兴。