繁体   English   中英

我可以在uclibc linux上使用boost吗?

[英]Can I use boost on uclibc linux?

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

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

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

假设有合适的编译器支持,许多嵌入式设备将很乐意运行许多Boost库。 请注意使用方法。 Boost库提高了抽象级别,可以很容易地使用比您想象的更多的资源。

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

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

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

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

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

希望这可以帮助

我没有尝试,但我对uclibc一无所知会阻止Boost工作。

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

是的,你可以使用uclibc的boost。
我在ARM9260上尝试使用boost 1.45和uclibc

  1. 使用新鲜的OpenEmbedded
  2. 将其配置为使用Angstrom
  3. 配置Angstrom以使用uclibc
  4. 提升 - bitbake提升

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM