For a personal project I want to use C++11, however which C++ library
works best for that? Looking at the NuttX documentation it refers me
to a "Contemporary port of the C++11 LLVM libcxx", but this guide
(https://cwiki.apache.org/confluence/pages/viewpage.action?pageId=139629545)
is based on a older NuttX fork.
Nevertheless I've tried to follow the steps on NuttX Master, which
works partially works with some extra modifications (had to enable
fpermissive), after basic testing it seems C++11 threads (<thread>) is
working. But when I use std::cout (<iostream>) compiling gives me the
following linker error:
arm-none-eabi-ld:
/home/peter/brickpoweredugv/nuttx/staging/libxx.a(ios.o): in function
`std::char_traits<char>::eof()':
/home/peter/brickpoweredugv/nuttx/include/libcxx/support/xlocale/__nop_locale_mgmt.h:20: multiple definition of `duplocale'; /home/peter/brickpoweredugv/nuttx/staging/libapps.a(connector.home.peter.brickpoweredugv.apps.brickpoweredugv.o):/home/peter/brickpoweredugv/nuttx/include/libcxx/support/xlocale/__nop_locale_mgmt.h:20: first defined
here
arm-none-eabi-ld:
/home/peter/brickpoweredugv/nuttx/staging/libxx.a(ios.o): in function
`freelocale':
Thus my question is, is someone actively using libcxx with C++11 in
upstream NuttX and does it work well? Or do I have to use another
libc++ implementation
Yours sincerely,
Peter van der Perk