[英]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_time , bind , function , tuple和thread 。
我们遇到的一些库是lambda , shared_pointer和format 。 这些问题很可能是由我们的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
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.