【问题标题】:What packages are needed on Ubuntu 10.04 to run programs compiled with gcc/g++ 4.7?Ubuntu 10.04 上需要哪些软件包来运行使用 gcc/g++ 4.7 编译的程序?
【发布时间】:2013-02-19 23:52:05
【问题描述】:

我需要在一个全新的、更新的 ubuntu 10.04 机器上运行用 c++11 编写的、用 gcc 4.7 编译的程序吗? stdlibc++ 更新是否足够? glibc?还要别的吗?改写:我需要在 ubuntu 10.04 机器上部署哪些包,以便我的 gcc 4.7 c++11 程序可以运行,而无需安装完整的 gcc 套件?

我想为基于 ubuntu 10.04 的系统开发应用程序,并能够使用 gcc 4.7 中提供的 c++11 语言和库功能。 (请注意,在 ubuntu 10.04 上需要一个特殊的 ppa 来安装 gcc 4.7,否则它目前将坚持使用 gcc 4.4)。我不想在将运行我创建的应用程序的机器上部署编译器。我不打算使用像 GOMP 这样的“花哨”库或任何东西。

【问题讨论】:

  • 只要你试一试,你就会从加载器那里得到一个明确的答案。你可以在大约十分钟内安装 virtualbox 和 10.04 .iso。
  • 如果在大小限制和类似方面可行:静态链接您的应用?
  • 谢谢大家。在这种情况下,大小确实很重要,所以这不是一个选择。当然,我可以制作一个测试程序并查看它需要什么,但我想知道未来的版本可能需要什么并从一开始就安装它。无论如何,谢谢。

标签: c++ gcc c++11 g++ shared-libraries


【解决方案1】:

您需要 GCC 4.7 中的 libgcc_s.so.1libstdc++.so.6.0.17libsupc++.so.6.0.17 库,但我怀疑 Ubuntu 10.04 是否包含包含这些库的软件包。您用于获取 GCC 4.7 的 PPA 还应该提供这些库,或者在 gcc 包或其他一些包中,例如 libgcc1libstdc++6

如果您找不到 .deb 的软件包,那么在旧系统上获取这些库的唯一可靠方法是构建 GCC,请参阅 http://gcc.gnu.org/wiki/InstallingGCC 获取指针。您可以使用--enable-languages=c,c++ 来避免构建您不需要的编译器前端和运行时库。

【讨论】:

  • 使用ppa 中的软件包安装 gcc-4.7 后,我没有 libsupc++。 “locate libsup”在进行更新后不会显示任何内容。这也意味着它没有与 gcc-4.4 一起安装。 http://wiki.osdev.org/Libsupcxx 似乎暗示只有在进行交叉编译时才需要它。这不是我的情况。这是你所期望的吗?
  • 另外,我注意到安装 gcc-4.7 后 libgcc_s.so.1 不存在。 libgccpp.so.1 存在(来自包 libgc1c2)。
  • 不,libsupc++.so 与交叉编译无关。 libgccpp.so 是一个完全不同的库,与 Boehm-Demers-Weiser 垃圾收集器
猜你喜欢
  • 1970-01-01
  • 2011-06-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-04-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多