编译c++与boost所有linux发行版
Compiling C++ with boost all linux distributions
用boost编译所有发行版的最佳方法是什么?我读了很多文章,但还是不知道该怎么做。我正在使用代码块,我的程序在我构建它的系统上工作,但不是在其他发行版上,我只是得到一个分段错误(核心转储)我是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>
基本上,有两种方法可以做到这一点。静态的和动态的。您可以静态地链接所有内容,这样就不会有问题了,只是有点浪费资源。或者您可以动态链接到特定的libboost-regex.so.41.2.2或任何当前版本。在后一种情况下,您可能希望包含正在使用的版本,并在ldd前面加上LD_LIBRARY_PATH。
我知道这有点高水平。更具体地说,我需要更多的细节。你的程序(你运行的东西)说什么?问题很可能是,在版本控制方案中,boost与通常的只在第一个版本号上破坏abi的方案略有不同。如果您有某种构建文件(我不知道代码块),那也很好看到。
相关文章:
- 使用eBPF拦截Linux上的所有传出/传入流量
- 如何用.so文件linux打包所有需要的库
- 在Linux上使用Cmake时,我该如何告诉PVS-Studio忽略第三方库中的所有文件
- 您如何将所有链接依赖项都包装到一个Linux静态库中
- 睡眠:(睡眠或usleep)并没有将我的线程中的所有内容悬挂在Linux中,而是在Windows中悬挂吗?为什么
- 当模式窗口最小化时,最小化所有应用程序窗口(在 Linux 上)
- Visual Studio 2017 Linux 远程构建 - 在每个构建中重新编译所有 cpp 文件
- C/C++:是否可以将 Eclipse 项目设置配置为接受 void 指针而不对所有 Linux 发行版进行强制转换
- 如何在 Linux 上恢复所有当前进程
- 如何在 Linux 上将所有第三方运行时依赖项包含在 cmake/cpack 生成的包中
- 如何在 Linux 中打包我的 c++ 项目的所有依赖项库
- 通过调用 c++ 函数列出 Linux 系统的所有用户名
- 如何重新分发为Linux编辑了所有人软件
- 哪个浏览器插件框架适用于Linux中的所有浏览器
- Linux C++ 如何以编程方式获取 LAN 上所有适配器的 MAC 地址
- 获取所有正在运行的应用程序(铬.格迪特..等) [C++ / Linux]
- 在 Linux 中使用 C++ 列出目录的所有文件不起作用
- Linux命令libboost所有的开发人员都安装并编译只包含头的库吗
- LD_PRELOAD适用于所有风格的 unix/linux 吗?
- 在 Linux 上调试时,我将如何停止占用所有可用内存的程序