在Ubuntu 18.04上支持C++17的std::filesystem的方法

2023-10-31

      在Ubuntu 18.04上通过命令sudo apt install gcc g++安装的gcc/g++版本为7.5,此版本并不直接支持filesystem,如下图所示:

      Ubuntu 18.04上的g++ 7.5支持experimental的filesystem,即std::experimental::filesystem,若想使Ubuntu 18.04支持std::filesystem,一种方法是升级g++,依次执行如下命令:

sudo add-apt-repository ppa:ubuntu-toolchain-r/test
sudo apt update
sudo apt install gcc-9 g++-9
# 修改软链接
cd /usr/bin
sudo rm gcc g++
sudo ln -s gcc-9 gcc
sudo ln -s g++-9 g++

      测试代码test_filesystem.cpp如下:

#include <iostream>
//#include <experimental/filesystem> // g++ 7.5
#include <filesystem> // g++ 9.4

int main()
{
    //std::experimental::filesystem::path current_directory = std::experimental::filesystem::current_path(); // g++ 7.5
    std::filesystem::path current_directory = std::filesystem::current_path(); // g++ 9.4
    std::cout << "current directory: " << current_directory << std::endl;
    return 0;
}

      编译脚本build.sh如下:

#! /bin/bash

#g++ -o test_filesystem test_filesystem.cpp -lstdc++fs # g++ 7.5
g++ -o test_filesystem test_filesystem.cpp -std=c++17 # g++ 9.4

      执行结果如下所示:

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在Ubuntu 18.04上支持C++17的std::filesystem的方法 的相关文章

  • 在 Linux 上访问 main 之外的主要参数

    是否可以访问参数main在外面main 即在共享库构造函数中 在 Linux 上除了通过解析之外 proc self cmdline 您可以通过将构造函数放入 init array部分 功能在 init array 不像 init 使用相同
  • 从 php/linux 获取 pdf 的布局模式(横向或纵向)

    给定一个 PDF 如何使用 PHP lib 或 Linux 命令行工具获取 PDF 的布局模式 或相对宽度 高度 Using http www tecnick com public code cp dpage php aiocp dp tc
  • 用于编辑 /etc/sudoers 文件的正则表达式模式

    我想删除 etc sudoers 文件中的 uncommnet 轮组 那么我应该使用什么正则表达式模式 cat etc sudoers Allows members of the sys group to run networking so
  • Fortran 中的共享库,最小示例不起作用

    我试图了解如何在 Linux 下的 Fortran 中动态创建和链接共享库 我有两个文件 第一个 liblol f90 看起来像这样 subroutine func print lol end subroutine func 我用它编译gf
  • 未找到 Gem 命令

    我已经在 Ubuntu 10 10 32 位上安装了 gem apt get install gem y 但当我尝试跑步时 gem install something gem 我收到未找到命令的错误 bash gem command not
  • C++:Linux平台上的线程同步场景

    我正在为 Linux 平台实现多线程 C 程序 其中我需要类似于 WaitForMultipleObjects 的功能 在搜索解决方案时 我发现有一些文章描述了如何在 Linux 中实现 WaitForMultipleObjects 功能
  • 如何从远程 ssh 连接上运行的 tmux(复制模式)复制到本地剪贴板

    我通过 OS X 上的 VirtualBox 运行 Linux 我通过在无头状态下运行虚拟机 然后使用端口转发 sshing 到 Linux 机器来实现这一点 现在 无论复制到我的虚拟机上的剪贴板 我都可以粘贴到我的远程 ssh 会话上 但
  • 将node.js +expressjs应用程序的NODE_ENV设置为ubuntu下的守护进程

    我按照这些说明让守护进程正常工作 http kevin vanzonneveld net techblog article run nodejs as a service on ubuntu karmic http kevin vanzon
  • 用于读取文件的 Bash 脚本

    不知道为什么最后一行没有从脚本中删除 bin bash FILENAME 1 while read line do cut d f2 echo line done lt FILENAME cat file 1 test 2 test 3 t
  • ubuntu 的 CSS 更少(并且自动编译)? [关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 我尝试过 simples 但现在 l
  • 使用 ProcessBuilder 运行 shell 脚本

    我正在尝试使用 Java 和 ProcessBuilder 运行脚本 当我尝试运行时 我收到以下消息 error 2 没有这样的文件或目录 我不知道我做错了什么 但这是我的代码 ps 我尝试只执行不带参数的脚本 错误是相同的 String
  • 如何在 Linux/OS X 上温和地终止 Firefox 进程

    我正在使用 Firefox 进行一些自动化操作 尽管我可以从 shell 打开 Firefox 窗口 但我无法正确终止它 如果我kill火狐进程与kill 3 or kill 2当我下次打开新的 Firefox 窗口时 命令会询问我是否要在
  • 裸机交叉编译器输入

    裸机交叉编译器的输入限制是什么 比如它不编译带有指针或 malloc 的程序 或者任何需要比底层硬件更多的东西 以及如何才能找到这些限制 我还想问 我为目标 mips 构建了一个交叉编译器 我需要使用这个交叉编译器创建一个 mips 可执行
  • 在 Linux 控制台中返回一行?

    我知道我可以返回该行并用以下内容覆盖其内容 r 现在我怎样才能进入上一行来改变它呢 或者有没有办法打印到控制台窗口中的特定光标位置 我的目标是使用 PHP 创建一些自刷新的多行控制台应用程序 Use ANSI 转义码 http en wik
  • 如何列出 nginx 中的所有虚拟主机

    有没有一个命令可以列出 CentOS 上 nginx 下运行的所有虚拟主机或服务器 我想将结果通过管道传输到文本文件以用于报告目的 我正在寻找与我用于 Apache 的命令类似的命令 apachectl S 2 gt 1 grep 端口 8
  • 为什么默认情况下不启用 arp 忽略/通告 [关闭]

    Closed 这个问题是无关 help closed questions 目前不接受答案 我有一个需要经验才能回答的具体问题 为什么 arp ignore arp announce 在 Linux 安装 例如 debian 上默认不启用 有
  • 套接字发送调用被阻塞很长时间

    我每 10 秒在套接字上发送 2 个字节的应用程序数据 阻塞 但发送调用在下面的最后一个实例中被阻塞超过 40 秒 2012 06 13 12 02 46 653417 信息 发送前 2012 06 13 12 02 46 653457 信
  • 为什么 call_usermodehelper 大多数时候都会失败?

    从内核模块中 我尝试使用 call usermodehelper 函数来执行可执行文件 sha1 该可执行文件将文件作为参数并将文件的 SHA1 哈希和写入另一个文件 名为输出 可执行文件完美运行 int result 1 name hom
  • 在用户程序中使用 或在驱动程序模块代码中使用 ...这有关系吗?

    我正在开发一个设备驱动程序模块和关联的用户库来处理ioctl 来电 该库获取相关信息并将其放入一个结构中 该结构被传递到驱动程序模块中并在那里解压 然后进行处理 我省略了很多步骤 但这就是总体思路 一些数据通过结构体传递ioctl is u
  • 使用 --prof 选项创建多个日志文件而不是一个 v8.log 的节点

    我正在尝试使用 prof 选项来分析我的 Node 应用程序 但我发现不是一个单一的 v8 log 文件 而是使用诸如isolate 0x9582b40 v8 log isolate 0xa1cab78 v8 6049 等前缀创建的多个文件

随机推荐

  • Echarts—词云库(echarts-wordcloud)配置详解和使用(可自定义形状)

    词云库的详解 前言 安装 基本配置详解 具体使用步骤 Vue为例 自定义展示形状 前言 我们经常会看到一些网站或者页面有一堆五颜六色的词汇的聚在一块 有大有小的散落着 看着挺好看的 也许项目中也会涉及到显示一些关键词之类的需求 这个时候也可
  • springboot整合eureka

    服务端 1 maven依赖 注意springboot和springcloud的版本对应
  • 三层交换机配置静态路由

    一 建立拓扑图 二 配置主机IP地址 网关 主机号 IP地址 网关 PC 0 192 168 10 101 192 168 10 1 PC 1 192 168 20 101 192 168 20 1 PC 2 192 168 30 101
  • c语言实现的最简单log debug

    我们在些简单的c原因程序时 如果打印log 用专用的log不划算 这个时候可以采用下面简单的log Name debug h Purpose general debug system Copyright C 2014 wowotech Su
  • 指标体系、原子指标和衍生指标

    指标 是一个可以量化目标事物多少的数值 有时候也称为度量 如 DNU 留存率等都是指标 原子指标和衍生指标 按照个人的理解 不加任何修饰词的指标就是原子指标 也叫度量 一般存在于olap表中 例如订单量 用户量的等等 而在原子指标上进行加减
  • 运放电流检测采样电路电压采样电路

    输入输出电压检测 输入输出电压通过运放LMC6482采用差分电路将输出电压按比例缩小至ADC能够采样的范围 再使用ADC采样 软件解算出输出电压 输入电压采样是通过MCU内部运放按比例缩小在送到ADC进行采样的 具体电路如图3 5 1所示
  • R数据处理包plyr:超越apply函数族的向量化运算

    R有着强大而又丰富的数据处理能力 除了一些常用的基础数据处理函数之外 R还为我们提供了大量以实现不同的数据处理功能的扩展包 关注小编公众号的朋友应该还记得之前曾写过一篇关于R向量化运算的 apply函数族的文章 对于日常数据处理工作而言 可
  • flask模块mock接口(二)

    目录 一 获取请求传入数据 二 服务端回话保持 1 通过cookie实现回话保持 2 通过session实现回话保持 一 获取请求传入数据 1 模块 from flask import request 2 方法 method 获取客户端提交
  • NG Model

    组件传值双向绑定 output绑定事件 由组件绑定事件EventEmitter向父组件传输信息 属性名 属性后缀Change 是约定的固定写法 child component html h1 status in child childSta
  • LESS命令简单介绍以及使用

    LESS命令简单介绍以及使用 http www cnblogs com molao doing articles 6541455 html b 缓冲区大小 设置缓冲区的大小 e 当文件显示结束后 自动离开 f 强迫打开特殊文件 例如外围设备
  • 微积分的前世今生

    参考链接 你也能懂的微积分 微积分 顾名思义 简单来说可以分为微分和积分 下面先说说积分 简单来说 积分是用来求面积的 毕竟积分的 积 和面积的 积 是同一个字 而 分 可以理解为方法 所以积分就是用来求面积的 参看百度百科的定义 也是这个
  • (三)Python3 NLTK(Natural Language Toolkit)安装和下载的常见问题

    NLTK Python自然语言工具包 用于诸如标记化 词形还原 词干化 解析 POS标注等任务 该库具有几乎所有NLP任务的工具 1 安装nltk pip install nltk 不要像一开始我一样傻傻的以为pip完就结束啦 2 进入py
  • Spring Security升级到5.7.x

    Spring Security升级到5 7 x 问题描述 WebSecurityConfigurerAdapter类是Spring Security中经常使用到的一个类 用于快速配置WebSecurity 在升级到5 7版本后这个类被废弃掉
  • Java 中如何避免循环引用,解决相互依赖的问题

    Java 中如何避免循环引用 解决相互依赖的问题 返回数据存在 r e f ref ref data 的问题 FastJSON
  • Vue+TS+Element-plus项目

    目录 后台管理系统实现 1 项目搭建 1 创建项目 2 启动项目 3 搭建第三方库element plus 1 安装 2 完整引入 3 按需导入 2 登录页面 1 下载插件 2 配置路由 3 样式配置 4 设置背景图片 5 表单展示 6 使
  • 【Ubuntu搭建MQTT Broker及面板+发布消息、订阅主题】

    Ubuntu搭建MQTT Broker及面板 发布消息 订阅主题 配置curl数据源 curl s https assets emqx com scripts install emqx deb sh sudo bash 开始安装 sudo
  • Pytorch学习——入门实例(六)torch.optmi使用更加复杂的优化器(RMSprop)实现网络的反向传播

    Pytorch optim 使用更加复杂的优化器 AdaGrad RMSProp Adam 在pytorch中 optim包提供了常用的优化函数 接下来的例子 使用RMSProp来优化网络 import torch import math
  • C#记事本语音实现

    语音播报 在Form窗体中实现语音播报 以下为实现类 using System using System Collections Generic using System IO using System Media using System
  • python利用openpyxl读取excel数据

    文章目录 前言 一 处理excel的第三方库 二 openpyxl使用 1 安装 2 导入包 3 打开文件 前言 在自动化测试中 会用到excel存储测试用例 并使用代码的方式读取excel 今天来介绍一下openpyxl读取excel的使
  • 在Ubuntu 18.04上支持C++17的std::filesystem的方法

    在Ubuntu 18 04上通过命令sudo apt install gcc g 安装的gcc g 版本为7 5 此版本并不直接支持filesystem 如下图所示 Ubuntu 18 04上的g 7 5支持experimental的fil