8

有没有人有在基于 uclibc 的系统上运行使用 boost 库的 C++ 应用程序的经验?甚至可能吗?你会使用哪个 C++ 标准库?uclibc++ 可以与 boost 一起使用吗?

4

5 回答 5

2

我们在Arcom Vulcan上使用了许多 Boost 库(线程、文件系统、信号、函数、绑定、任何、asio、smart_ptr、元组),这对于嵌入式设备(64M RAM,533MHz XScale)来说非常强大。一切都很漂亮。

GCC 3.4,但我们没有使用 uclib++(Arcom 提供了一个包含 libstd++ 的工具链)。

假设编译器支持良好,许多嵌入式设备将愉快地运行许多 Boost 库。请注意使用。Boost 库提高了抽象级别,并且可以轻松使用比您想象的更多的资源。

于 2008-11-21T23:21:27.277 回答
2

我们在运行 uClinux 的 ARMv4 平台上将 Boost 与 GCC 2.95.3、libstdc++ 和 STLport 一起使用。Boost 的某些部分与 GCC 2.x 不兼容,但在我们的特定情况下运行良好的部分。我们使用最多的库是date_timebindfunctiontuplethread

我们遇到的一些库是lambdashared_pointerformat。这些问题很可能是由我们的 GCC 版本引起的,因为当您包含过多的模板结构或深度级别的模板结构时,它会出现问题。

如果可能的话,我建议您使用您的特定工具链运行 boost 测试套件以确保兼容性。至少你可以编译一个本地工具链,以确保你的库版本是兼容的。

我们没有使用 uClibc++,因为这不是我们的工具链提供商推荐的,所以我无法评论那个特定的组合。

于 2009-02-25T17:18:04.747 回答
1

我用谷歌搜索了“uclibc stlport”。似乎至少有几个版本的 uclibc 可以编译 stlport(请参阅this)。鉴于此,我想说 Boost 只需几个编译步骤即可。我读过 David Abrahams(他是 boost 社区的活跃成员)的消息,其中说 Boost 不直接依赖于使用的 libc。但是某些库可能仍然会导致问题,例如 Boost.Python,因为它依赖于其他可能难以用 uclibc 编译的东西(在我的示例中是 Python)。

希望这可以帮助

于 2009-02-20T19:28:31.497 回答
0

我没有尝试过,但我不知道任何关于 uclibc 会阻止 Boost 工作的信息。

试试看,看看会发生什么,我会说。

于 2008-11-21T19:07:17.867 回答
0

是的,您可以将 boost 与 uclibc 一起使用。
我在 ARM9260 上使用 boost 1.45 和 uclibc 进行了尝试

  1. 使用新鲜的 OpenEmbedded
  2. 将其配置为使用 Angstrom
  3. 配置 Angstrom 以使用 uclibc
  4. 提升 - bitbake 提升
于 2011-01-25T17:05:57.877 回答