【问题标题】:header file <execution> missing in gcc 7.2 (Ubuntu) : how to solve it?gcc 7.2(Ubuntu)中缺少头文件<execution>:如何解决?
【发布时间】: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 应该标准化”下的表格中

标签: header-files c++17 execution


【解决方案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++

【讨论】:

    猜你喜欢
    • 2011-09-24
    • 2017-01-03
    • 2022-11-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-01-05
    • 2015-11-09
    相关资源
    最近更新 更多