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 使用的标准库)尚未实现 &lt;execution&gt; 标头。另请参阅他们的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>:如何解决?的主要内容,如果未能解决你的问题,请参考以下文章

虚拟机linux怎么查看交叉编译环境

安装psutil时提示缺少python.h头文件(作记录)

ubuntu 16.04 上的 php 7.2 上缺少请求的 PHP 扩展 ext-mysqli *

ubuntu 16.04 上的 php 7.2 上缺少请求的 PHP 扩展 ext-mysqli *

关于在linux下用gcc编译头文件的问题。

GTK学习笔记之Linux下Gtk环境搭建