C++17 std::variant header file (clang 6.0.0)
C++17 std::variant header file (clang 6.0.0)
更新
我将问题缩小到(可能!即使阅读了我能找到的有关该主题的所有内容,也不完全清楚(安装stdlibc++-7-dev
将为我提供合适的(即符合 C++17 标准(STL 标头和库。
这(显然也(与 Ubuntu 17.04 捆绑在一起(artful
?(,但不适用于我正在使用的xenial
(Ubuntu 16.04.3 LTS(。
我尝试下载单个.deb
包并安装它们,但它很快就会变成未解决的依赖项的迷宫。
如果有人能指出如何在 16.04 上安装libstdc++-7-dev
,我将不胜感激。
原始问题
我刚刚通过包管理器在 Ubuntu 6.0 中安装了 clang++ 16.04(按照这些说明(,一切似乎都很好:/usr/bin/clang++-6.0
工作得很好,如果我尝试使用仅在 C++17 中工作的东西(non-type template arguments with auto
,请参阅此处(一旦我设置CMAKE_CXX_COMPILER=/usr/bin/clang++-6.0
它就会编译并运行——而当我不这样做时它会失败。
所以。。。clang 6.0
理解广告中的C++17(doh!(,但是当我使用:
#include <variant>
在我期望的位置找不到该文件:
$ 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
或我能想到的其他任何地方。
有谁知道(a(它是否应该在那里,(b(如果是这样,我去哪里找到它?
更新
我已经仔细检查了我是否有最新的(我认为(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*
文件还是无处可寻。 还有什么我应该尝试的吗?
是的,clang 5.0(或者更确切地说,将作为clang 5的一部分发布的libc ++(具有<variant>
标头。但是你需要确保你已经安装了libc ++。
正如@KayEss提到的,您需要传递-std=c++17
(或同一标志的早期版本-std=c++1z
(,因为变体是仅限 C++17 的功能。
- Seg Fault Issue C++ (file IO / getline)
- 奇怪的结构&GCC&clang(void*返回类型)
- 数据成员SFINAE的C++17测试:gcc vs clang
- 当我编译webrtc服务器时,Windows上只支持clang-cl
- 为什么在Windows上的VS 2019和Clang 9中"size_t"在没有标题的情况下工作
- 我可以将一个用clang c++11编译的对象与另一个用c++17编译的对象链接起来吗
- Clang bug?使用指针作为模板参数
- clang整洁10忽略了我的NOLINT命令
- 如何防止clang格式在流运算符调用之间添加换行符<<
- 在clang++预处理器中确定gcc工具链版本
- 为什么 Clang 不允许"and"作为函数名称?
- 带有 -stdlib=libc++ 的 clang++ 9.0.1 找不到<optional>
- clang格式:宏的缩进
- CLANG 编译器 说:变量"PTR"可能未初始化
- clang格式:禁用排序包含
- 为什么lambda在clang上崩溃而不是在gcc上崩溃
- Android NDK clang 编译器错误在 Windows 上显示'No such file or directory'
- C++17 std::variant header file (clang 6.0.0)
- 使用 Clang 进行编译时"'omp.h' file not found"
- 除了 clang 之外,"clang -S -emit-llvm file.cpp"运行任何其他可执行文件吗?