C ++ 17 std :: variant header file (clang 6.0.0)

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* . - ?

+6
1

, clang 5.0 (, lib++, clang 5) <variant>. , lib++.

@KayEss, -std=c++17 ( -std=c++1z), - ++ 17.

+2

All Articles