Yes, you create the liblinks.xml file by hand (once for each library). You can the copy it into any project where you want to use it.
C is compiled by the C Compiler, C++ is compiled the C++ compiler in all circumstances. If you have a mixed project, this is still true (note that C files have a .c extension and C++ file have a .cpp extension).
Looking at a (random) lib links file supplied in the example:
<project name="" update="true">
<setting id="all.compiler.inc">
<value>${workspace_loc:/CMSIS_DSPLIB_CM0/inc}</value>
</setting>
<setting id="linker.libs">
<value>CMSIS_DSPLIB_CM0</value>
</setting>
<setting id="linker.paths">
<value>${workspace_loc:/CMSIS_DSPLIB_CM0/lib}</value>
</setting>
<requires msg="Library project `CMSIS_DSPLIB_CM0` not found">
<value>CMSIS_DSPLIB_CM0</value>
</requires>
</project>
You can see that it says 'all.compiler.inc' which will work for the include paths for all compilers (C and C++). The <value> field is exactly what is added to the include path. The link.libs setting is for the library name you need adding to the linker and the linker.paths setting is for the library paths.
If you are worried, why not just try it? Create yourself a dummy project and try it? It really is not difficult