I have tried to enable the CoE dictionnary ( mbx.enableCoE() ) on a slave build with nuttx. And the build fails with this output:
/opt/gcc-arm-none-eabi/bin/arm-none-eabi-ld: warning: xmc4800_foot has a LOAD segment with RWX permissions
/opt/gcc-arm-none-eabi/bin/arm-none-eabi-ld: CMakeFiles/xmc4800_foot.dir/main_foot.cc.obj: in function `kickcat::CoE::Object::~Object()':
main_foot.cc:(.text._ZN7kickcat3CoE6ObjectD2Ev[_ZN7kickcat3CoE6ObjectD5Ev]+0x34c): undefined reference to `std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >::~basic_string()'
/opt/gcc-arm-none-eabi/bin/arm-none-eabi-ld: CMakeFiles/xmc4800_foot.dir/main_foot.cc.obj: in function `main':
main_foot.cc:(.text.main+0x346): undefined reference to `std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >::~basic_string()'
/opt/gcc-arm-none-eabi/bin/arm-none-eabi-ld: main_foot.cc:(.text.main+0x4b0): undefined reference to `std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >::~basic_string()'
/opt/gcc-arm-none-eabi/bin/arm-none-eabi-ld: main_foot.cc:(.text.main+0x618): undefined reference to `std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >::~basic_string()'
/opt/gcc-arm-none-eabi/bin/arm-none-eabi-ld: main_foot.cc:(.text.main+0x780): undefined reference to `std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >::~basic_string()'
/opt/gcc-arm-none-eabi/bin/arm-none-eabi-ld: CMakeFiles/xmc4800_foot.dir/main_foot.cc.obj:main_foot.cc:(.text.main+0x90e): more undefined references to `std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >::~basic_string()' follow
make[2]: *** [examples/slave/nuttx/xmc4800/CMakeFiles/xmc4800_foot.dir/build.make:98: examples/slave/nuttx/xmc4800/xmc4800_foot] Error 1
make[2]: Leaving directory '/home/nicolas.lemble/wdc_workspace/src/KickCAT/build_slave'
make[1]: *** [CMakeFiles/Makefile2:264: examples/slave/nuttx/xmc4800/CMakeFiles/xmc4800_foot.dir/all] Error 2
make[1]: Leaving directory '/home/nicolas.lemble/wdc_workspace/src/KickCAT/build_slave'
make: *** [Makefile:91: all] Error 2
make: Leaving directory '/home/nicolas.lemble/wdc_workspace/src/KickCAT/build_slave'
I have first tried to use the standard lib of the toolchain in nuttx menuconfig (C++ Library = Toolchain C++ support) . But it still fail.
Then I have remove the optimizations (Optimization Level = Suppress Optimization), and it succeeds...
NuttX C++ support was broken: currently under fix by our team (now KickCAT build with the latest version but the C++ support still lack a few wrapper around math.h).
I have tried to enable the CoE dictionnary ( mbx.enableCoE() ) on a slave build with nuttx. And the build fails with this output:
I have first tried to use the standard lib of the toolchain in nuttx menuconfig (C++ Library = Toolchain C++ support) . But it still fail. Then I have remove the optimizations (Optimization Level = Suppress Optimization), and it succeeds...