c++ - 为旧版 Linux 编译 C++11 程序

标签 c++ linux

我编写了一个 C++ 程序并使用了一些 C++11 功能。这不是问题,因为我的系统上有最近的 g++clang++。现在我想在其他装有旧版 Ubuntu 或其他发行版的计算机上运行它。

更糟糕的是,我依赖于 Boost、json、crypto++ 和其他库。

有什么方法可以让它在非 C++11 系统上运行,还是我必须将其重写为 C++98?

最佳答案

您应该只静态链接它。 Ubuntu 存储库中有 libstdc++boost 和其他库的静态版本。您可以在 C++11 系统上编译您的二进制文件,然后将它们复制到 C++98 系统。它们不会依赖于 C++11 版本的 libstdc++

关于c++ - 为旧版 Linux 编译 C++11 程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24266867/

相关文章:

linux - 程序集 : Converting x86 code to x64 for a simple example

c++ - 如何在运行时在一些方法之间进行选择?

c++ - 编译时静态类型数组

c++ - 在函数对象中包装模板或重载函数的最简洁和可重用的方式

c++ - Google::protobuf + boost::asio 失败

linux - 在 bash 中使用 sed 修改配置文件

linux - 文件保存错误 : "Opening output file: resource temporarily unavailable"

c++ - CScrollBar 拇指跟踪不起作用

c++ - 生成随机字母

c - C语言在Linux上实现树命令(DOS)