我可以在 uclibc Linux 上使用 boost 吗?
有谁有在基于 uclibc 的系统上运行使用 boost 库的 C++ 应用程序的经验吗? 有可能吗? 您会使用哪个 C++ 标准库? uclibc++ 可以与 boost 一起使用吗?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
有谁有在基于 uclibc 的系统上运行使用 boost 库的 C++ 应用程序的经验吗? 有可能吗? 您会使用哪个 C++ 标准库? uclibc++ 可以与 boost 一起使用吗?
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
接受
或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
发布评论
评论(5)
我们在运行 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++,因为这不是我们的工具链提供商推荐的,所以我无法评论该特定组合。
We use Boost together with GCC 2.95.3, libstdc++ and STLport on an ARMv4 platform running uClinux. Some parts of Boost are not compatible with GCC 2.x but the ones that are works well in our particular case. The libraries that we use the most are date_time, bind, function, tuple and thread.
Some of the libraries we had issues with were lambda, shared_pointer and format. These issues were most likely caused by our version of GCC since it has problems when you have too many includes or deep levels of template structures.
If possible I would recommend you to run the boost test suite with your particular toolchain to ensure compatibility. At the very least you could compile a native toolchain in order to ensure that your library versions are compatible.
We have not used uClibc++ because that is not what our toolchain provider recommends so I cannot comment on that particular combination.
我们在 Arcom Vulcan 对于嵌入式设备(64M RAM,533MHz XScale)来说,它无疑非常强大。 一切都很顺利。
GCC 3.4,但我们不使用 uclib++(Arcom 提供了一个包含 libstd++ 的工具链)。
假设有良好的编译器支持,许多嵌入式设备会很乐意运行许多 Boost 库。 只要注意使用即可。 Boost 库提高了抽象级别,并且可以轻松使用比您想象的更多的资源。
We are using many of the Boost libraries (thread, filesystem, signals, function, bind, any, asio, smart_ptr, tuple) on an Arcom Vulcan which is admittedly pretty powerful for an embedded device (64M RAM, 533MHz XScale). Everything works beautifully.
GCC 3.4 but we're not using uclib++ (Arcom provides a toolchain which includes libstd++).
Many embedded devices will happily run many of the Boost libraries, assuming decent compiler support. Just take care with usage. The Boost libraries raise the level of abstraction and it can be easy to use more resources than you think.
我用谷歌搜索“uclibc stlport”。 似乎至少有几个版本的 uclibc 可以编译 stlport (参见 这个)。
鉴于此,我想说 Boost 只需几个编译步骤即可实现。 我读过 David Abrahams(他是 boost 社区的活跃成员)的一条消息,其中说 Boost 并不直接依赖于所使用的 libc。 但某些库仍然可能会导致问题,例如 Boost.Python,因为它依赖于其他东西(在我的示例中是 Python),而这些东西可能很难用 uclibc 进行编译。
希望这可以帮助
I googled "uclibc stlport". It seems there are at least a few versions of uclibc for which stlport can be compiled (see this).
Given that, i'd say Boost is just a few compilation steps away. I have read a message by David Abrahams (who is an active member of the boost community) that says that Boost does not depend directly on the used libc. But some libraries may still cause problems, Boost.Python for instance, since it depends on something else (Python in my example) that might be difficult to compile with uclibc.
Hope this helps
我没有尝试过,但我不知道有关 uclibc 的任何信息会阻止 Boost 工作。
我想说,尝试一下,看看会发生什么。
I have not tried but I don't know anything about uclibc that would prevent Boost from working.
Try it and see what happens, I would say.
是的,您可以将 boost 与 uclibc 一起使用。
我用 boost 1.45 & 尝试过这个 ARM9260 上的 uclibc
Yes you can use boost with uclibc.
I tried this with boost 1.45 & uclibc on ARM9260