在Ubuntu 16.04下运行协同程序示例可以实现"' experimental / coroutine'找不到文件"

时间:2018-04-17 15:13:37

标签: c++ clang++ coroutine

查看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.cppthe aforementioned example

的复制粘贴

但是,我得到了

coroutines.cpp:2:10: fatal error: 'experimental/coroutine' file not found
#include <experimental/coroutine>

所以我可以想象我缺少一些东西,无论是安装还是编译标志。我试着在网上看,但我找不到任何有用的东西。

我做错了什么?

1 个答案:

答案 0 :(得分:1)

您链接的存储库似乎只提供工具链,但不提供标题。

安装 libc ++ - dev 您从Ubuntu存储库安装了该软件包,该软件包不包含实验目录中的头文件。

您可以自行检查this问题以构建libc ++并正确设置工具链。