有没有人有任何运行在基于uclibc的系统上使用boost库的C ++应用程序的经验? 这甚至有可能吗? 你会使用哪个C ++标准库? uclibc ++是否可用于boost?
我们在运行uClinux的ARMv4平台上使用Boost和GCC 2.95.3,libstdc ++和STLport。 Boost的某些部分与GCC 2.x不兼容,但是在我们的特殊情况下,这些部分是行之有效的。 我们使用最多的库是date_time , bind , function , tuple和thread 。
一些我们遇到的问题是lambda , shared_pointer和format 。 这些问题很可能是由我们的GCC版本引起的,因为当您的模板结构太多或深层次时,它会出现问题。
如果可能的话,我会建议你使用特定的工具链运行boost测试套件,以确保兼容性。 至少你可以编译一个本地工具链,以确保你的库版本兼容。
我们还没有使用uClibc ++,因为这不是我们的工具链提供者的建议,所以我不能评论这个特定的组合。
我们在Arcom Vulcan上使用了许多Boost库(线程,文件系统,信号,函数,绑定,任何,asio,smart_ptr,元组),这对于嵌入式设备(64M RAM,533MHz XScale)来说是非常强大的。 一切都很好。
GCC 3.4,但我们没有使用uclib ++(Arcom提供了包含libstd ++的工具链)。
许多嵌入式设备将很高兴地运行许多Boost库,假设体面的编译器支持。 只要注意使用。 Boost库提高了抽象级别,可以很容易地使用比您想象的更多的资源。
我搜索了“uclibc stlport”。 看起来至少有几个版本的uclibc可以编译stlport(见这个 )。 鉴于此,我会说Boost只是几个编译步骤而已。 我读过David Abrahams(他是boost社区的一名活跃成员)的消息,他说Boost并不直接依赖于使用的libc。 但是一些库可能仍然会导致问题,例如Boost.Python,因为它依赖于其他的东西(在我的例子中是Python),可能很难用uclibc编译。
希望这可以帮助
我还没有尝试,但我不知道任何有关uclibc,将阻止升压工作。
试试看看会发生什么,我会说。
是的,你可以使用uclibc提升。
我在ARM9260上用boost 1.45&uclibc试了一下