How to install external libraries ?

02 Dec 2010

Hi,

The mbed compiler fully supports C++, including templates and exceptions. So far, so good.

Question: if I wanted to install some extra library like some parts of boost (which is kind of the "next STL" before it gets integrated into the standard), how should I do that ? My main concern is that such library has a build process which I don't see how to execute/integrate with the mbed compiler.

Of particular interest are smart pointers (didn't check if TR1 extensions of the STL are supported by the mbed toolchain), boost::array.

Thanks,

Olivier

20 Jan 2011

Of additional interest, boost::function and boost::bind are an interesting replacement for std::mem_fun & friends.

Discovered also that exceptions are not supported. That could be a catch for boost library...

If someone from mbed could follow up on this, it would be greatly appreciated.

Olivier

20 Jan 2011

Exceptions are not coming any time soon. And boost is really an overkill for such a small device IMO.

20 Jan 2011

Complete boost is maybe an overkill (who wants to put a grammar parser on an embedded device ?!). But some utilities are very useful: think about boost::array, boost::shared_ptr, boost::bind & boost::function.

20 Jan 2011

I think for now the only solution is to create a mbed library for it, and just see whether it compiles out-of-the box or not. The build process normally is used for applying configuration choises, and to enable build on multiple platforms. Especially the latter is of no concern for the mbed, so one can always set the appropriate defines (I did this myself for e.g. spxml).

24 Jan 2011

Even TR1 is not provided. Great disappointment for the C++ software developer...

Please, mbed, update your compiler to add support for it. I can understand that exceptions having a measurable cost are disabled by default. As others have expressed, this could be a configuration option whether you want them or not. But TR1... come on !