无法找到filesystem头文件

无法找到filesystem头文件

一、前言

这段时间接老板命令,做目标识别模型的嵌入式部署。需要将模型运行环境编译后打包到瑞芯微开发板上运行,在此之前我对原C++文件做过修改,为了能实现与厂商提供的数据接口对接。

我在用CMake打包过程中,C++推理文件需要用filesystem头文件的功能遍历文件夹,以读取相关数据,然而一次次的失败让我心生烦躁,具体表现如下:

/17106/Pengcaiping/rknpu-master/rknn/rknn_api/examples/rknn_yolov5_demo/src/main.cc:28:23: fatal error: filesystem: No such file or directory
 #include <filesystem>
                       ^
compilation terminated.
CMakeFiles/rknn_yolov5_demo.dir/build.make:110: recipe for target 'CMakeFiles/rknn_yolov5_demo.dir/src/main.cc.o' failed
make[2]: *** [CMakeFiles/rknn_yolov5_demo.dir/src/main.cc.o] Error 1
CMakeFiles/Makefile2:67: recipe for target 'CMakeFiles/rknn_yolov5_demo.dir/all' failed
make[1]: *** [CMakeFiles/rknn_yolov5_demo.dir/all] Error 2
Makefile:129: recipe for target 'all' failed
make: *** [all] Error 2

无论我怎么试,都治不好,后来经过查相关资料是C++标准的问题,于是我升级了G++编译器到9.0版本,该版本已经严格支持C++17标准,且我在本地通过G++命令运行包含了filesystem头文件测试程序也成功了,但用CMake就怎么也弄不成功。

此刻我的心,好吧用这个表情包表达一下😂:

在这里插入图片描述

最后还是老老实实,把CMake系统学了一遍回来弄好的,我只能说,这些东西真的是个勾八。

二、解决方案

注意:下面编写的所有的文件都在同一个目录下

  1. 遇事先升级,编译器,如果你的运行环境已经是root用户则运行下面命令时要删除sudo

    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++
    
  2. 写测试程序,在你的目录下创建一个test.cpp,内容如下

    #include <iostream>
    #include <filesystem>
     
    int main()
    {
        std::filesystem::path current_directory = std::filesystem::current_path(); // g++ 9.4
        std::cout << "current directory: " << current_directory << std::endl;
        return 0;
    }
    
  3. 编译测试程序

    g++ test.cpp -std=c++17
    
  4. 运行测试程序

    ./a.out
    

    若运行正确,则必然会输出你的CPP文件所在目录的路径

  5. 编写CMake文件

    //CMakeLists.txt
    project(test) //设置项目名词
    set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++17 -s -O3")  //设置编译器标准及优化级别
    add_executable(test test.cpp) //添加可执行文件(即将要被编译的)
    target_link_libraries(test stdc++fs) //链接库
    
  6. 编译并安装CMake文件

    cmake .
    make
    
  7. 执行编译好的文件

    ./test
    

    如果输出成果,则表示这次安装成功了,否则还有问题。

三、心灵的涤荡

孤独,是一种很高级的享受,是一种摆脱了人际关系的烦扰后,内心和自然、和周遭环境的一种直接接触。如果说寂寞是无人搭理而被动产生的一种情绪,那么孤独则是自己刻意选择独处的一种状态。
—— 郭城《人间行走:向着通透与自由》

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/490011.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

jmeter接口测试及详细步骤以及项目实战教程

在接口测试项目实战中&#xff0c;JMeter是一款非常强大和流行的自动化测试工具&#xff0c;它可以测试各种类型的应用程序&#xff0c;并通过采样和报告来识别性能瓶颈和API的问题。本文将为你提供一个基于实际项目的JMeter接口测试项目实战教程&#xff0c;指导你如何使用JMe…

腾讯VS网易:一场不见终局的游戏未来之战

国内游戏霸主腾讯最近赚足了眼球。 总体上看&#xff0c;腾讯手握“游戏社交”两大王牌&#xff0c;最近发布的财报十分亮眼&#xff0c;其2023年总营收和净利润分别同比增长10%和36%&#xff0c;展现了互联网巨头的强劲活力。 然而巨头亦有焦虑&#xff0c;增值服务营收同比…

数学算法(算法竞赛、蓝桥杯)--分解质因数、唯一分解定理

1、B站视频链接&#xff1a;G07 分解质因数 唯一分解定理 试除法_哔哩哔哩_bilibili 题目链接&#xff1a;质因子分解 - 洛谷 #include <bits/stdc.h> using namespace std;int n; int a[100010];//质因子的个数void decompose(int x){for(int i2;i*i<x;i){//i增加&a…

Fastgpt 无法启动或启动后无法正常使用的讨论(启动失败、用户未注册等问题这里)

FastGPT 是一个基于 LLM 大语言模型的知识库问答系统&#xff0c;提供开箱即用的数据处理、模型调用等能力。同时可以通过 Flow 可视化进行工作流编排&#xff0c;从而实现复杂的问答场景&#xff01; FastGPT是非常实用并且相当厉害的个人知识库AI项目&#xff0c;项目是非常…

Linux Tomcat的服务器如何查看接口请求方式?

问题描述 最近在和安卓开发对接接口&#xff0c;遇到一个接口总是报405错误&#xff0c;有对接经验的开发应该都知道是请求方式不对&#xff0c;假如接口定义为POST请求的&#xff0c;但是客户端却用GET请求&#xff0c;这时候就会报这个错误。Android客户端那边使用xUtils框架…

扫雷大师:用C语言揭秘自动展开盘面与智能扫雷策略

目录 扫雷自动展开盘面智能扫雷更优策略完整代码 扫雷 扫雷游戏是一款经典的单人电脑游戏&#xff0c;其主要规则如下&#xff1a; 游戏目标&#xff1a;游戏的目标是在不触发任何地雷的情况下&#xff0c;找出所有非雷区域。玩家需要根据格子周围的数字来推断哪些格子含有地雷…

MFC(二)集成基础控件

目录 OnCreateCStatic【标签&#xff0c;图片】CEdit【文本框&#xff0c;密码框&#xff0c;数值框&#xff0c;文本区】CButton【按钮&#xff0c;单选按钮&#xff0c;多选按钮】CComboBox【下拉列表&#xff0c;列表】CSliderCtrl【滑动条】CListCtrl【表格】CAnimateCtrl【…

第十二届蓝桥杯JavaB组省赛真题 - ASC

解题思路&#xff1a; 这是目前为止做到过最简单的了 public class Main {public static void main(String[] args) {int res L-A 65;System.out.print(res);} }

东联直播音效助手

东方联盟创始人郭盛华为广大主播免费开发的一款专用的音效场控工具&#xff0c;通过这款软件&#xff0c;主播使用各种精彩的音效&#xff0c;避免直播间过于低沉和尴尬&#xff0c;从而更好的拉近观众的距离。音效有掌声、爆笑声、尖叫声、关注点赞、任务等各种音效. 【东方联…

【win10 win11添加右键】git bash

打开注册表编辑器。 按下Win键 R&#xff0c;然后输入”regedit”并按下回车键来打开注册表编辑器。计算机\HKEY_CLASSES_ROOT\Directory\Background\shell\git_bash\command2. 导航到注册表路径&#xff1a;依次展开”HKEY_CLASSES_ROOT\Directory\Background\shell”。右键…

电商系列之仓储发货

疫情3年&#xff0c;大多数人都将购买需求转移到了线上。同时由于暴涨的订单数量、还在恢复中的物流运输等因素&#xff0c;导致用户的收货时间缓慢甚至是发货时间、收货时间延后。那么笔者就从订单的仓库作业流程入手&#xff0c;分析了用户订单发货延后的原因。 受到最近疫情…

2024年软件测试,“我“从初级到高级进阶,不再走弯路...

目录&#xff1a;导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结&#xff08;尾部小惊喜&#xff09; 前言 现在2024年&#…

【git分支管理策略】如何高效的管理好代码版本

目录 1.分支管理策略 2.我用的分支管理策略 3.一些常见问题 1.分支管理策略 分支管理策略就是一些经过实践后总结出来的可靠的分支管理的办法&#xff0c;让分支之间能科学合理、高效的进行协作&#xff0c;帮助我们在整个开发流程中合理的管理好代码版本。 目前有两套Git…

mysql索引失效

什么是索引失效 在MySQL中&#xff0c;索引失效指的是查询语句无法有效地使用索引&#xff0c;而必须进行全表扫描。索引失效可能会导致查询性能下降&#xff0c;特别是在处理大量数据时。 索引失效的原因 1.索引列进行了运算或函数操作 如果对索引列进行了运算或使用了函数…

第十四届蓝桥杯C++A组(A/B/C/D/E/H)

文章目录 A.幸运数B.有奖问答C.平方差D.更小的数E.颜色平衡树H.异或和之和 A.幸运数 /*纯暴力*/ #include <bits/stdc.h>using namespace std;void solve() {int sum 0;for(int i 1; i < 100000000; i ){int n i;int a[11];int j 1;for(; n ! 0; j ){a[j] n % …

基于Python的Climate Indices库计算SPI01:不同站点不同时间尺度的SPI的计算

热闹的尽头是孤寂&#xff0c;在虚浮的欢闹中保持自己&#xff0c;纷繁世间&#xff0c;可报期望者不过二三。 文章目录 前言1. 概述2.1 目的2.2 说明 2. 版本2.1 天津&#xff0c;2024年1月18日&#xff0c;Version1 3. 微信公众号GISRSGeography 一、数据1. 输入数据2. 输出…

日常刷题之77-组合

题目 给定两个整数 n 和 k&#xff0c;返回范围 [1, n] 中所有可能的 k 个数的组合。 你可以按 任何顺序 返回答案 提示&#xff1a;假设 n5,k3 就是需要组合出来&#xff0c;长度3且内容数据是在[1,n]这个区间内的所有可能得组合 同时一个组合里面内个数字只能出现一次&#…

windows grep 安装及使用

1&#xff09;下载地址&#xff1a; Grep for Windows 2&#xff09;选择这个包下载&#xff1a; 3&#xff09; 将D:\Program Files (x86)\GnuWin32\bin目录 加入系统变量&#xff1a; 4&#xff09;grep "ACE_Lock_Adapter" -i * 执行命令如下&#xff1a;

使用Git仓库进行项目代码同步与打包

1. 引言 最近在用友的开发者中心论坛发现好多小伙伴反馈使用 YonStudio 开发工具进行云端项目导入失败的问题&#xff0c;有感于此问题会影响开发小伙伴的开发效率&#xff0c;特编写此文帮助新手小伙伴去规避这类问题的发生。 一直以来&#xff0c;开发者依循惯性思维去依赖…

不会搭建物联网数据平台的老板参考一下吧

搭建牛奶厂的物联网数据平台 对于现代牛奶厂&#xff0c;在数字化时代中&#xff0c;搭建物联网数据平台至关重要。这样的平台基础是建立IOT数据底座平台&#xff0c;它是支撑物联网应用的数据存储和管理基础设施&#xff0c;通常由分布式存储系统、时序数据库集群和存储管理组…