【问题标题】:from which version std::regex is available in libstdc++从哪个版本 std::regex 在 libstdc++ 中可用
【发布时间】:2015-10-01 18:43:22
【问题描述】:

我用 C++ 编写了一个使用 特性的工具。它使用std::regex 提供正则表达式功能。

它需要 GCC (>=4.9.0) 来编译代码。

这是未安装 libstdc++6 的 Ubuntu 系统上的错误消息。

/usr/lib/x86_64-linux-gnu/libstdc++.so.6: version `GLIBCXX_3.4.20' not found

我正在为 Ubuntu 打包这个软件,但不知道应该将哪个版本的 libstdc++6 作为我的程序的依赖项。

对于我应该事先通知用户的所有类 Unix 操作系统的一般情况,该程序的依赖关系是什么?

【问题讨论】:

  • 您是在问哪个版本的 GCC 最先支持std::regex(参见stackoverflow.com/questions/12530406/…),还是您链接到了哪个版本的 GCC?最后一句是什么意思?
  • @JonathanWakely 我只想通知用户它的依赖关系,即他们需要什么才能正确运行它。让他们安装整个 gcc >=4.9 包似乎不太可行。
  • 那么他们需要 libstdc++6-4.9.x 包,对于一些 x。我不明白你在问什么。你用 GCC 4.9 编译,你用 GCC 4.9 链接,所以你的程序需要来自(至少)GCC 4.9 的 libstdc++ ......答案不只是 4.9 吗?如果不是,那是什么问题?

标签: c++11 c++ c++11 ubuntu software-packaging


【解决方案1】:

我正在为 Ubuntu 打包这个软件,但不知道应该将哪个版本的 libstdc++6 作为我的程序的依赖项。

最小依赖是您链接程序的版本。

因此,如果您与gcc-4.9.1 关联,那么他们至少需要libstdc++6-4.9.1

对于我应该事先通知用户的所有类 Unix 操作系统的一般情况,该程序的依赖关系是什么?

它需要一个支持来自 C++11 的std::regex 的编译器......但你已经在问题中说过了。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多