Update
I narrowed the problem down to (perhaps not completely clear, even after reading everything I could find about the topic), that the installation would stdlibc++-7-devprovide me with appropriate (i.e. C ++ 17 compatible) STL headers and libraries.
This (also, apparently) comes bundled with Ubuntu 17.04 ( artful?), But is not available for the xenial(Ubuntu 16.04.3 LTS) that I am using.
I tried to download individual packages .deband install them, but it quickly becomes a maze of unresolved dependencies.
If anyone can tell me how to install libstdc++-7-devin 16.04, I would be very grateful.
Original question
I just installed clang ++ 6.0 on Ubuntu 16.04 through the package manager (following these instructions ) and everything looks fine: it /usr/bin/clang++-6.0works just fine, and if I try to use something that only works in C ++ 17 ( non-type template arguments with autosee here ) it compiles and runs as soon as I install CMAKE_CXX_COMPILER=/usr/bin/clang++-6.0- until it works, when I do not.
So ... clang 6.0understands C ++ 17 as being advertised (doh!), But when I use:
#include <variant>
the file was not found where I would expect this:
$ ll /usr/include/clang/6.0.0/
total 0
lrwxrwxrwx 1 root root 45 Aug 6 21:32 include -> ../../../lib/llvm-6.0/lib/clang/6.0.0/include
or somewhere else that I can think of.
Does anyone know (a) if he should be there at all, and (b) if so, where can I find him?
Update
I double checked that I have the last (I think) library stdc++:
$ sudo apt-get install libstdc++-5-dev
Reading package lists... Done
Building dependency tree
Reading state information... Done
libstdc++-5-dev is already the newest version (5.4.0-6ubuntu1~16.04.4).
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
libstdc++-6-dev; , libc++-dev:
$ sudo apt-get install libc++-dev
Reading package lists... Done
Building dependency tree
Reading state information... Done
libc++-dev is already the newest version (3.7.0-1).
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
, variant.h* .
- ?