查看clang-5.0 release notes,它表示" C++ coroutines TS已登陆",并建议查看this example以开始使用。我显然可以在线运行这个例子,所以我决定尝试使用我的Ubuntu Server 16.04 Xenial机器。
从干净的安装,我刚试过
wget -O - https://apt.llvm.org/llvm-snapshot.gpg.key | sudo apt-key add -
sudo apt-add-repository "deb http://apt.llvm.org/xenial/ llvm-toolchain-xenial-5.0 main"
sudo apt-get update
sudo apt-get install -y clang-5.0 libc++-dev
然后直奔
clang++-5.0 -Wall -Wextra -std=gnu++2a "-fcoroutines-ts" "-stdlib=libc++" -o test.out test.cpp
(test.cpp
是the aforementioned example)
但是,我得到了
coroutines.cpp:2:10: fatal error: 'experimental/coroutine' file not found
#include <experimental/coroutine>
所以我可以想象我缺少一些东西,无论是安装还是编译标志。我试着在网上看,但我找不到任何有用的东西。
我做错了什么?
答案 0 :(得分:1)
您链接的存储库似乎只提供工具链,但不提供标题。
安装 libc ++ - dev 您从Ubuntu存储库安装了该软件包,该软件包不包含实验目录中的头文件。
您可以自行检查this问题以构建libc ++并正确设置工具链。