When I was building the project, I met such a mistake:
/usr/include/c++/9/tuple:875:3: error: template specialization with C linkage
875 | template<>
| ^~~~
In file included from /usr/include/features.h:461,
from /usr/include/x86_64-linux-gnu/c++/9/bits/os_defines.h:39,
from /usr/include/x86_64-linux-gnu/c++/9/bits/c++config.h:528,
from /usr/include/c++/9/iostream:38,
from file_system.cc:10:
/usr/include/string.h:28:1: note: ‘extern "C"’ linkage started here
28 | BEGIN_DECLS
| ^~~~~
In file included from /usr/include/c++/9/bits/unique_ptr.h:37,
from /usr/include/c++/9/bits/locale_conv.h:41,
from /usr/include/c++/9/locale:43,
from /usr/include/c++/9/iomanip:43,
from ./strings.h:15,
from /usr/include/string.h:432,
from /usr/include/c++/9/cstring:42,
from file_system.cc:15:
/usr/include/c++/9/tuple:892:3: error: template with C linkage
892 | template<typename _T1, typename _T2>
| ^~~~
In file included from /usr/include/features.h:461,
from /usr/include/x86_64-linux-gnu/c++/9/bits/os_defines.h:39,
from /usr/include/x86_64-linux-gnu/c++/9/bits/c++config.h:528,
from /usr/include/c++/9/iostream:38,
from file_system.cc:10:
/usr/include/string.h:28:1: note: ‘extern "C"’ linkage started here
28 | BEGIN_DECLS
| ^~~~~
In file included from /usr/include/c++/9/bits/unique_ptr.h:37,
from /usr/include/c++/9/bits/locale_conv.h:41,
from /usr/include/c++/9/locale:43,
from /usr/include/c++/9/iomanip:43,
from ./strings.h:15,
from /usr/include/string.h:432,
from /usr/include/c++/9/cstring:42,
from file_system.cc:15:
/usr/include/c++/9/tuple:1271:3: error: template with C linkage
1271 | template
| ^~~~
In file included from /usr/include/features.h:461,
from /usr/include/x86_64-linux-gnu/c++/9/bits/os_defines.h:39,
from /usr/include/x86_64-linux-gnu/c++/9/bits/c++config.h:528,
from /usr/include/c++/9/iostream:38,
from file_system.cc:10:
/usr/include/string.h:28:1: note: ‘extern "C"’ linkage started here
28 | BEGIN_DECLS
| ^~~~~
In file included from /usr/include/c++/9/bits/unique_ptr.h:37,
from /usr/include/c++/9/bits/locale_conv.h:41,
from /usr/include/c++/9/locale:43,
from /usr/include/c++/9/iomanip:43,
from ./strings.h:15,
from /usr/include/string.h:432,
from /usr/include/c++/9/cstring:42,
from file_system.cc:15:
/usr/include/c++/9/tuple:1284:3: error: template with C linkage
1284 | template<std::size_t i, typename _Head, typename... _Tail>
| ^~~~
In file included from /usr/include/features.h:461,
from /usr/include/x86_64-linux-gnu/c++/9/bits/os_defines.h:39,
from /usr/include/x86_64-linux-gnu/c++/9/bits/c++config.h:528,
from /usr/include/c++/9/iostream:38,
from file_system.cc:10:
/usr/include/string.h:28:1: note: ‘extern "C"’ linkage started here
28 | BEGIN_DECLS
| ^~~~~
In file included from /usr/include/c++/9/bits/unique_ptr.h:37,
from /usr/include/c++/9/bits/locale_conv.h:41,
from /usr/include/c++/9/locale:43,
from /usr/include/c++/9/iomanip:43,
from ./strings.h:15,
from /usr/include/string.h:432,
from /usr/include/c++/9/cstring:42,
from file_system.cc:15:
/usr/include/c++/9/tuple:1291:3: error: template with C linkage
1291 | template<typename _Head, typename... _Tail>
| ^~~~
In file included from /usr/include/features.h:461,
from /usr/include/x86_64-linux-gnu/c++/9/bits/os_defines.h:39,
from /usr/include/x86_64-linux-gnu/c++/9/bits/c++config.h:528,
from /usr/include/c++/9/iostream:38,
from file_system.cc:10:
/usr/include/string.h:28:1: note: ‘extern "C"’ linkage started here
28 | __BEGIN_DECLS
| ^~~~~
In file included from /usr/include/c++/9/bits/unique_ptr.h:37,
from /usr/include/c++/9/bits/locale_conv.h:41,
from /usr/include/c++/9/locale:43,
from /usr/include/c++/9/iomanip:43,
from ./strings.h:15,
from /usr/include/string.h:432,
from /usr/include/c++/9/cstring:42,
from file_system.cc:15:
/usr/include/c++/9/tuple:1300:3: error: template with C linkage
1300 | template<size_t i>
| ^~~~
In file included from /usr/include/features.h:461,
from /usr/include/x86_64-linux-gnu/c++/9/bits/os_defines.h:39,
from /usr/include/x86_64-linux-gnu/c++/9/bits/c++config.h:528,
from /usr/include/c++/9/iostream:38,
from file_system.cc:10:
When I was building the project, I met such a mistake: /usr/include/c++/9/tuple:875:3: error: template specialization with C linkage 875 | template<> | ^
| ^
~~~ In file included from /usr/include/features.h:461, from /usr/include/x86_64-linux-gnu/c++/9/bits/os_defines.h:39, from /usr/include/x86_64-linux-gnu/c++/9/bits/c++config.h:528, from /usr/include/c++/9/iostream:38, from file_system.cc:10: /usr/include/string.h:28:1: note: ‘extern "C"’ linkage started here 28 | BEGIN_DECLS | ^~~~~ In file included from /usr/include/c++/9/bits/unique_ptr.h:37, from /usr/include/c++/9/bits/locale_conv.h:41, from /usr/include/c++/9/locale:43, from /usr/include/c++/9/iomanip:43, from ./strings.h:15, from /usr/include/string.h:432, from /usr/include/c++/9/cstring:42, from file_system.cc:15: /usr/include/c++/9/tuple:892:3: error: template with C linkage 892 | template<typename _T1, typename _T2> | ^~~~ In file included from /usr/include/features.h:461, from /usr/include/x86_64-linux-gnu/c++/9/bits/os_defines.h:39, from /usr/include/x86_64-linux-gnu/c++/9/bits/c++config.h:528, from /usr/include/c++/9/iostream:38, from file_system.cc:10: /usr/include/string.h:28:1: note: ‘extern "C"’ linkage started here 28 | BEGIN_DECLS | ^~~~~ In file included from /usr/include/c++/9/bits/unique_ptr.h:37, from /usr/include/c++/9/bits/locale_conv.h:41, from /usr/include/c++/9/locale:43, from /usr/include/c++/9/iomanip:43, from ./strings.h:15, from /usr/include/string.h:432, from /usr/include/c++/9/cstring:42, from file_system.cc:15: /usr/include/c++/9/tuple:1271:3: error: template with C linkage 1271 | template~~~ In file included from /usr/include/features.h:461, from /usr/include/x86_64-linux-gnu/c++/9/bits/os_defines.h:39, from /usr/include/x86_64-linux-gnu/c++/9/bits/c++config.h:528, from /usr/include/c++/9/iostream:38, from file_system.cc:10: /usr/include/string.h:28:1: note: ‘extern "C"’ linkage started here 28 | BEGIN_DECLS | ^~~~~ In file included from /usr/include/c++/9/bits/unique_ptr.h:37, from /usr/include/c++/9/bits/locale_conv.h:41, from /usr/include/c++/9/locale:43, from /usr/include/c++/9/iomanip:43, from ./strings.h:15, from /usr/include/string.h:432, from /usr/include/c++/9/cstring:42, from file_system.cc:15: /usr/include/c++/9/tuple:1284:3: error: template with C linkage 1284 | template<std::size_t i, typename _Head, typename... _Tail> | ^~~~ In file included from /usr/include/features.h:461, from /usr/include/x86_64-linux-gnu/c++/9/bits/os_defines.h:39, from /usr/include/x86_64-linux-gnu/c++/9/bits/c++config.h:528, from /usr/include/c++/9/iostream:38, from file_system.cc:10: /usr/include/string.h:28:1: note: ‘extern "C"’ linkage started here 28 | BEGIN_DECLS | ^~~~~ In file included from /usr/include/c++/9/bits/unique_ptr.h:37, from /usr/include/c++/9/bits/locale_conv.h:41, from /usr/include/c++/9/locale:43, from /usr/include/c++/9/iomanip:43, from ./strings.h:15, from /usr/include/string.h:432, from /usr/include/c++/9/cstring:42, from file_system.cc:15: /usr/include/c++/9/tuple:1291:3: error: template with C linkage 1291 | template<typename _Head, typename... _Tail> | ^~~~ In file included from /usr/include/features.h:461, from /usr/include/x86_64-linux-gnu/c++/9/bits/os_defines.h:39, from /usr/include/x86_64-linux-gnu/c++/9/bits/c++config.h:528, from /usr/include/c++/9/iostream:38, from file_system.cc:10: /usr/include/string.h:28:1: note: ‘extern "C"’ linkage started here 28 | __BEGIN_DECLS | ^~~~~ In file included from /usr/include/c++/9/bits/unique_ptr.h:37, from /usr/include/c++/9/bits/locale_conv.h:41, from /usr/include/c++/9/locale:43, from /usr/include/c++/9/iomanip:43, from ./strings.h:15, from /usr/include/string.h:432, from /usr/include/c++/9/cstring:42, from file_system.cc:15: /usr/include/c++/9/tuple:1300:3: error: template with C linkage 1300 | template<size_t i> | ^~~~ In file included from /usr/include/features.h:461, from /usr/include/x86_64-linux-gnu/c++/9/bits/os_defines.h:39, from /usr/include/x86_64-linux-gnu/c++/9/bits/c++config.h:528, from /usr/include/c++/9/iostream:38, from file_system.cc:10: