gcc 7.2(Ubuntu)中缺少头文件<execution>:如何解决?
Posted
技术标签:
【中文标题】gcc 7.2(Ubuntu)中缺少头文件<execution>:如何解决?【英文标题】:header file <execution> missing in gcc 7.2 (Ubuntu) : how to solve it? 【发布时间】:2018-04-12 09:34:15 【问题描述】:几天前,我将我的 Ubuntu 16.04 服务器版 gcc 更新为 gcc 7.2 版本:
gcc version 7.2.0 (Ubuntu 7.2.0-1ubuntu1~16.04)
这应该是适用于 Ubuntu 的 gcc 的最新版本
现在,编译一本书的例子,
g++ -std=c++17 auto_parallel.cpp -oauto_parallel
auto_parallel.cpp:5:10: fatal error: execution: No such file or directory
include <execution>
~~~~~~~~~~
compilation terminated.
如何解决问题? 提前致谢。马可
【问题讨论】:
我认为 GCC 7.2 不支持执行策略。"most updated version" != "contains all C++ features"
libstdc++(GCC 使用的标准库)尚未实现 <execution>
标头。另请参阅他们的C++17 status page,在“并行 TS 应该标准化”下的表格中
【参考方案1】:
根据(https://en.cppreference.com/w/cpp/compiler_support更新你的GUN编译器到版本9 和https://www.bojankomazec.com/2020/03/upgrading-gnu-cc-compilers-on-ubuntu.html)
sudo apt install -y gcc-9 g++-9 -y
并将你的编译器重新映射到 gcc-9
sudo rm /usr/bin/g++
sudo ln -s /usr/bin/g++-9 /usr/bin/g++
sudo rm /usr/bin/gcc
sudo ln -s /usr/bin/gcc-9 /usr/bin/gcc
验证编译器版本
ls -la /usr/bin/gcc
ls -la /usr/bin/g++
【讨论】:
以上是关于gcc 7.2(Ubuntu)中缺少头文件<execution>:如何解决?的主要内容,如果未能解决你的问题,请参考以下文章
ubuntu 16.04 上的 php 7.2 上缺少请求的 PHP 扩展 ext-mysqli *