未在 OpenBSD 和 FreeBSD 上剥离的 libstdc++ 系统库

libstdc++ system libraries not stripped on OpenBSD and FreeBSD

我正在研究是否为新项目静态或动态编译 C++ 库。 (我也读过 this answer)。我看到在 OpenBSD 和 FreeBSD 上,系统库(5-7 MB)比在 Linux(1.5 MB)上大得多,因为它们没有被剥离。所以我有两个问题:

  1. OpenBSD libestdc++.so 与 libstdc++.so 有何不同?我没有找到关于它的任何信息,google 只是纠正我,从单词中删除 "e" 字母。
  2. 为什么这些库在 BSD 上这么大?如果我想部署或静态 link 它们,它们将非常庞大。有解决办法吗?

谢谢。

在 OpenBSD 上,libstdc++ 是基本的 c++ 库 (GCC 4.2),libestdc++ 从端口安装(GCC 4.9 或 6)。这些库在 OpenBSD 上安装时带有符号,您可以使用 strip -s libwhatever.so.

去除符号