Concerning cxx or cpp ... I have to tell you that I was not used for cxx ... but it is not a problem anyway.
What is disturbing me now is that there are problems regarding newlib c++ and uClib++. I tried to add this json project: https://github.com/nlohmann/json, in single header mode. I am facing the following error: CXX: Log.cxx make[1]: 'libc.a' is up to date. make[1]: Leaving directory '/home/ubuntu/nuttx_ws/nuttx/libs/libc' make[3]: Nothing to be done for 'all'. make[3]: Leaving directory '/home/ubuntu/nuttx_ws/apps/platform' In file included from /usr/include/newlib/c++/9.2.1/bits/hashtable_policy.h:35, from /usr/include/newlib/c++/9.2.1/bits/hashtable.h:35, from /usr/include/newlib/c++/9.2.1/unordered_map:46, from json.hpp:70, from Log.cxx:2: /home/ubuntu/nuttx_ws/nuttx/include/uClibc++/limits:24:2: warning: #warning limits header is nowhere complete or accurate [-Wcpp] 24 | #warning limits header is nowhere complete or accurate | ^~~~~~~ In file included from /usr/include/newlib/c++/9.2.1/bits/stl_algobase.h:61, from /usr/include/newlib/c++/9.2.1/array:40, from json.hpp:62, from Log.cxx:2: /usr/include/newlib/c++/9.2.1/bits/cpp_type_traits.h:73:10: error: redefinition of 'struct std::__true_type' 73 | struct __true_type { }; | ^~~~~~~~~~~ In file included from /home/ubuntu/nuttx_ws/nuttx/include/uClibc++/vector:26, from /home/ubuntu/nuttx_ws/nuttx/include/uClibc++/string:25, from /home/ubuntu/nuttx_ws/nuttx/include/uClibc++/locale:22, from /home/ubuntu/nuttx_ws/nuttx/include/uClibc++/ios:22, from /home/ubuntu/nuttx_ws/nuttx/include/uClibc++/iostream:26, from Log.h:4, from Log.cxx:1: How should I address this kind of problem? Best regards, Flavio Em ter., 16 de mar. de 2021 às 12:34, Xiang Xiao <xiaoxiang781...@gmail.com> escreveu: > > On Tue, Mar 16, 2021 at 11:24 PM Gregory Nutt <spudan...@gmail.com> wrote: > > > > > >> I had to change my file names, from cpp to cxx. Is it mandatory to > > >> change the file extension to use C++? > > >> > > > No, .cxx is just the default extension. You can change the default value > > in > > > Makefile like this: > > > CXXEXT=.cpp > > > But this feature just exists in Makefile under the apps folder. > > > > Again, the coding standard does currently require the .cxx extension: > > https://cwiki.apache.org/confluence/display/NUTTX/Coding+Standard#cplusplus > > > > I would consider that up for discussion and subject to community > > concurrence. Which ever is selected, the extension should be used > > consistently. All C++ files under apps follow the coding standard for > > file naming EXCEPT for some ELF loadable modules and some test-releated > > files that are currently in violation of the coding standard: > > > > ./examples/elf/tests/helloxx/hello++1.cpp > > ./examples/elf/tests/helloxx/hello++2.cpp > > ./examples/elf/tests/helloxx/hello++3.cpp > > ./examples/elf/tests/helloxx/hello++4.cpp > > ./examples/elf/tests/helloxx/hello++5.cpp > > ./examples/nxflat/tests/hello++/hello++1.cpp > > ./examples/nxflat/tests/hello++/hello++2.cpp > > ./examples/nxflat/tests/hello++/hello++3.cpp > > ./examples/nxflat/tests/hello++/hello++4.cpp > > ./testing/irtest/cmd.cpp > > ./testing/irtest/enum.cpp > > ./testing/irtest/main.cpp > > > > > All these sources can change to .cxx suffix. > > > > We do require strong motivation before any changes are made to the > > coding stardard. We want to avoid the case where the coding standard is > > changed to meet the preferences a single person or a single > > organization. Any changes must have a broad community mandate. > > > > > CXXEXT is for code which doesn't plan to be upstreamed. Actually, after > joining Apache, I don't think we can freely include 3rd party code into > repo like before even with the compatible license and not in active > development. So -- Flavio de Castro Alves Filho flavio.al...@gmail.com Twitter: http://twitter.com/#!/fraviofii LinkedIn profile: www.linkedin.com/in/flaviocastroalves