【发布时间】:2015-10-01 18:43:22
【问题描述】:
我用 C++ 编写了一个使用c++11 特性的工具。它使用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