orbslam_semantic_nav_ros 编译出现的问题1

安装环境 ubuntu20.04
ros NODES
项目链接:
https://github.com/MRwangmaomao/semantic_slam_nav_ros


安装腾讯ncnn库

其他库
opencv 3.4.9
eigen 3.4.0
pangolin 已安装

vtk5
自带的是 vtk-7.1 建议自己源码安装
下载链接:https://vtk.org/download/
下载了vtk 7.1
mkdir build
cd build
cmake …
make -j8
sudo make install

方法二需要

配置环境变量

打开~/.bashrc 文件并添加以下行

export VTK_DIR=/usr/local/lib/cmake/vtk-7.1
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib

参考了:https://blog.csdn.net/qq_54199287/article/details/134136943

pcl 1.7

推荐:
-> pcl-1.7.2 vtk-5.10.1 / vtk-6.2.0
​-> pcl-1.8.1 vtk-7.1.1
-> pcl-1.9.1 vtk-8.2.0(建议8.1)
pcl 1.12 vt7.1也有人这样安装编译 但是对于我们的呢

1.7.2版本与当前的eigen版本产生冲突 尝试一下新的 尝试pcl-1.10.1

mkdir  build
cd build
cmake ..
make -j8   
sudo make install
下载链接:https://github.com/PointCloudLibrary/pcl/tree/pcl-1.10.1

卸载pcl需要修改里面的内容

sudo make uninstall
sudo rm -r build
sudo rm -r /usr/include/pcl-1.10 /usr/share/pcl /usr/bin/pcl* /usr/lib/libpcl*
sudo rm -r  /usr/libx86_64-linux-gnu/libpcl*
sudo rm -r /usr/lib/x86_64-linux-gnu/cmake/pcl

可能出现的错误!:

CMake Error at /opt/ros/noetic/share/pcl_ros/cmake/pcl_rosConfig.cmake:117 (message):Project 'pcl_ros' specifies '/usr/include/pcl-1.10' as an include dir,which is not found.  It does neither exist as an absolute directory nor in'${{prefix}}//usr/include/pcl-1.10'.  Check the issue tracker'https://github.com/ros-perception/perception_pcl/issues' and considercreating a ticket if the problem has not been reported yet.
Call Stack (most recent call first):/opt/ros/noetic/share/catkin/cmake/catkinConfig.cmake:76 (find_package)semantic_slam_nav_ros/CMakeLists.txt:56 (find_package)
解决:
sudo cp -r '/opt/ros/noetic/include/pcl_ros' '/usr/include/pcl-1.10'

解决办法 但是这个方法可以解决该问题,但是对于之前的报错依旧不管用!!!
https://blog.csdn.net/weixin_43971588/article/details/133157581

不知道是什么原因,第一次安装的时候并没有这个错误!!!
安装了PCL1.10 还是会出现相关保存问题 在编译过程中

因此尝试新版本的pcl1.12
https://blog.csdn.net/weixin_40653140/article/details/126282010

同样安装了pcl1.12后还是报错:
CMake Error at /opt/ros/noetic/share/pcl_ros/cmake/pcl_rosConfig.cmake:117 (message):
Project ‘pcl_ros’ specifies ‘/usr/include/pcl-1.10’ as an include dir,
which is not found. It does neither exist as an absolute directory nor in
‘${{prefix}}//usr/include/pcl-1.10’. Check the issue tracker
‘https://github.com/ros-perception/perception_pcl/issues’ and consider
creating a ticket if the problem has not been reported yet.
Call Stack (most recent call first):
/opt/ros/noetic/share/catkin/cmake/catkinConfig.cmake:76 (find_package)
semantic_slam_nav_ros/CMakeLists.txt:56 (find_package)

这是安装了多版本的pcl ,ros自带的pcl以及自己的pcl版本
https://blog.csdn.net/qq_42731705/article/details/129380907
pcl指定自己的版本
这样就把这个问题解决 但是这种操作是否有问题 不太清楚
https://blog.csdn.net/qq_42731705/article/details/129380907

安装pcl1.8出现的问题参考:
boost版本问题 修改头文件路径即可
1.https://blog.csdn.net/weixin_45534376/article/details/132864676
pcl与eigen版本问题 修改 源代码中的用法即可
2.https://blog.csdn.net/weixin_42621405/article/details/119853242

编译源码出现新问题:
报错1.1:
/home/ckq/catkin_ws_iit/src/semantic_slam_nav_ros/orbslam/include/MergeSG.h:176:66: error: wrong number of template arguments (3, should be at least 1)
pcl::EuclideanClusterComparator<PointT, pcl::Normal, pcl::Label>::Ptr euclidean_cluster_comparator_;


octomap 安装
下载地址:https://github.com/OctoMap/octomap

mkdir  build
cd build
cmake ..
make -j8   
sudo make install  

进行了安装

直接安装会出现问题,
在make阶段报错内容是:
[100%] Linking CXX executable …/…/bin/octovis
/usr/bin/ld: …/…/octovis/src/extern/QGLViewer/libQGLViewer.so: undefined reference to `__cxa_throw_bad_array_new_length@Qt_5’
collect2: error: ld returned 1 exit status
make[2]: *** [octovis/CMakeFiles/octovis.dir/build.make:360: …/bin/octovis] Error 1
make[1]: *** [CMakeFiles/Makefile2:1884: octovis/CMakeFiles/octovis.dir/all] Error 2
可以参考:
https://blog.csdn.net/liu13364876993/article/details/110188553
就可以解决以上问题

测试八叉树安装成功与否:
https://www.codenong.com/cs105964310/


参考各种库版本对应关系https://blog.csdn.net/qq_41049423/article/details/129391823

ubuntu20.04下安装pcl_ubuntu安装pcl
https://blog.csdn.net/feichangyanse/article/details/135162334

安装pcl之前安装好 vtk


别人安装教程:
ubuntu16.04 配置qt5.9+VTK5.10+pcl1.7 (orbslam_semantic_nav_ros依赖库1)
https://blog.csdn.net/qq_45539458/article/details/106390709

ubuntu16.04 配置opencv3.4+pangolin+octomap (orbslam_semantic_nav_ros依赖库2)
https://blog.csdn.net/qq_45539458/article/details/106411290

安装科大讯飞语音相关库
注册网址链接:
https://www.xfyun.cn/services/voicedictation
暂时先不注册 获取api

参考链接:https://blog.csdn.net/lion_no_back/article/details/129463403

安装依赖:

sudo apt-get install libasound2-dev #asound库
sudo apt-get install mplayer #mplayer工具

安装百度aip相关库

sudo apt-get install ros-noetic-image-view
sudo apt-get install libjsoncpp-dev
sudo apt-get install openssl
sudo apt-get install curl

申请百度api:
https://blog.csdn.net/muaamua/article/details/134368227
https://blog.csdn.net/he99774/article/details/126488907

api网站:
https://cloud.baidu.com/?from=console

cmakelist.txt
修改opencv版本 C++14 以及ros的正确版本
开始下载源码进行编译

mkdir -p catkin_ws/src
git clone git@github.com:MRwangmaomao/semantic_slam_nav_ros.git
cd ..
catkin_make

编译报错
报错1:
/home/ckq/catkin_ws_iit/src/semantic_slam_nav_ros/aip-cpp/src/gesture_pub_node.cpp:20:10: fatal error: slam_semantic_nav_ros/Gesture.h: No such file or directory
#include “slam_semantic_nav_ros/Gesture.h”
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

忘记怎么解决了,总之作者需要的文件 都给他准备好就没有这个问题了

报错2:
/home/ckq/catkin_ws_iit/src/semantic_slam_nav_ros/aip-cpp/include/base/http.h:23:10: fatal error: json/json.h: No such file or directory
#include <json/json.h>

这个错误消息表明编译过程中找不到名为 “json/json.h” 的头文件,这通常是因为缺少相应的依赖项或包。要解决这个问题,您可以按照以下步骤操作:

  1. 确认是否安装了 JSON 头文件:首先,确保您的系统上安装了 JSON 头文件。通常,JSON 头文件位于一个名为 “json-c” 的包中。您可以使用以下命令检查是否安装了该包:
    dpkg -l | grep libjson-c-dev
    如果未安装该包,可以使用以下命令安装它:
   sudo apt-get install libjson-c-dev
  1. 检查编译选项:在您的项目中,确保在 CMakeLists.txt 或编译选项中正确包含 JSON 头文件的路径。通常,您需要在 CMakeLists.txt 文件中设置 include_directories,以指定包含头文件的目录,例如:

    include_directories(/usr/include/json-c)
    

    请确保路径与您的系统上安装的 JSON 头文件路径相匹配。

  2. 重新编译项目:完成上述步骤后,重新运行编译命令以重新编译您的项目。这应该解决找不到 “json/json.h” 头文件的问题。

https://blog.csdn.net/qq_41821678/article/details/120331269

电脑上已经安装了,
执行 以下内容:
sudo ln -s /usr/include/jsoncpp/json/ /usr/include/json

报错3:
/usr/include/pcl-1.10/pcl/pcl_config.h:7:4: error: #error PCL requires C++14 or above
#error PCL requires C++14 or above

代码中的cmakelist.txt文件

#检查c++11或者 c++0x 编译支持  Check C++11  or C++0x support
include(CheckCXXCompilerFlag)
CHECK_CXX_COMPILER_FLAG("-std=c++11" COMPILER_SUPPORTS_CXX11)
CHECK_CXX_COMPILER_FLAG("-std=c++0x" COMPILER_SUPPORTS_CXX0X)
if(COMPILER_SUPPORTS_CXX11)set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++1")add_definitions(-DCOMPILEDWITHC11)message(STATUS "Using flag -std=c++11.")
elseif(COMPILER_SUPPORTS_CXX0X)set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++0x")add_definitions(-DCOMPILEDWITHC0X)message(STATUS "Using flag -std=c++0x.")
else()message(FATAL_ERROR "The compiler ${CMAKE_CXX_COMPILER} has no C++11 support. Please use a different C++ compiler.")
endif()

改为

#检查c++11或者 c++0x 编译支持  Check C++ 14 or C++0x support
include(CheckCXXCompilerFlag)
CHECK_CXX_COMPILER_FLAG("-std=c++14" COMPILER_SUPPORTS_CXX14)
CHECK_CXX_COMPILER_FLAG("-std=c++0x" COMPILER_SUPPORTS_CXX0X)if(COMPILER_SUPPORTS_CXX14)set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++14")add_definitions(-DCOMPILEDWITHC11)message(STATUS "Using flag -std=c++14.")
elseif(COMPILER_SUPPORTS_CXX0X)set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++0x")add_definitions(-DCOMPILEDWITHC0X)message(STATUS "Using flag -std=c++0x.")
else()message(FATAL_ERROR "The compiler ${CMAKE_CXX_COMPILER} has no C++14 support. Please use a different C++ compiler.")
endif()

报错3:

/home/ckq/catkin_ws_iit/src/semantic_slam_nav_ros/costmap/src/lrgbd2xz.cpp:89:5: error: ‘cvWaitKey’ was not declared in this scopecvWaitKey(1);^~~~~~~~~
/home/ckq/catkin_ws_iit/src/semantic_slam_nav_ros/costmap/src/lrgbd2xz.cpp: In member function ‘void LRGBDCostMap::drawCross():
/home/ckq/catkin_ws_iit/src/semantic_slam_nav_ros/costmap/src/lrgbd2xz.cpp:172:26: error: ‘cvPoint’ was not declared in this scopecv::line(costmap2d_, cvPoint(map_image_w_/2-cross_line_size/2,map_image_h_/2), cvPoint(map_image_w_/2+cross_line_size/2, map_image_h_/2), cv::Scalar(255,255,0), 1, 8, 0);

这是opencv没找到

#opencv  模块 版本大于 2.4.3
#set(OpenCV_DIR "~/code/catkin_ws/other/opencv-3.4.3/build")
find_package(OpenCV QUIET)
#message(FATAL_ERROR ${OpenCV_LIBS})
if(NOT OpenCV_FOUND)find_package(OpenCV 2.4.3 QUIET)if(NOT OpenCV_FOUND)message(FATAL_ERROR "OpenCV > 2.4.3 not found.")endif()
endif()

改为

set(OpenCV_DIR /home/ckq/Software/opencv-3.4.9/build)
find_package(OpenCV QUIET)
此外还需要修改 代码的写法
cvWaitKey 改为 cv::waitKey
cvPoint 改为: cv::Point

原因是之前的写法是在旧版本opencv 现在新版本的opencv都是这种写法

报错4:

/home/ckq/catkin_ws_iit/src/semantic_slam_nav_ros/orbslam/src/Detector.cc:127:50: error: ‘CV_FILLED’ was not declared in this scopecv::Scalar(255, 255, 255), CV_FILLED);

修改

CV_FILLED为 cv::FILLED

报错5:

/home/ckq/catkin_ws_iit/src/semantic_slam_nav_ros/orbslam/src/RunDetect.cc:73:21: error: ‘cvWaitKey’ was not declared in this scopecvWaitKey(30);cvWaitKey(30)改为   cv::waitKey(30);

报错5:

/usr/include/pcl-1.10/pcl/segmentation/euclidean_cluster_comparator.h:256:13: error: no matching function for call to ‘std::set<unsigned int>::insert(std::size_t&) const’exclude_labels_->insert (i);std::set<unsigned int>::insert(std::size_t&) const’exclude_labels_->insert (i);问题所在:pcl1.10自身的问题
https://github.com/PointCloudLibrary/pcl/issues/5031

报错1:

/home/ckq/catkin_ws_iit/src/semantic_slam_nav_ros/orbslam/include/MergeSG.h:176:66: error: wrong number of template arguments (3, should be at least 1)pcl::EuclideanClusterComparator<PointT, pcl::Normal, pcl::Label>::Ptr euclidean_cluster_comparator_;
修改为:
pcl::EuclideanClusterComparator<PointT>::Ptr euclidean_cluster_comparator_;

报错2:

error: no match foroperator=(operand types are ‘pcl::PointCloud<pcl::PointXYZRGBA>::Ptr {aka std::shared_ptr<pcl::PointCloud<pcl::PointXYZRGBA> >}and ‘boost::detail::sp_if_not_array<pcl::PointCloud<pcl::PointXYZRGBA> >::type {aka boost::shared_ptr<pcl::PointCloud<pcl::PointXYZRGBA> >})globalMap = boost::make_shared< PointCloud >(); // 全局点云地图 共享指针

修改为:

```cpp
globalMap = std::make_shared<pcl::PointCloud<pcl::PointXYZRGBA>>();
同样的报错```cpp
error: no matching function for call to ‘pcl::ExtractIndices<pcl::PointXYZRGB>::setIndices(boost::detail::sp_if_not_array<const pcl::PointIndices>::type)’mExtractInd.setIndices (boost::make_shared<const pcl::PointIndices> (indices));

报错3:

/home/ckq/catkin_ws_iit/src/semantic_slam_nav_ros/orbslam/src/MergeSG.cc:22:98: error: wrong number of template arguments (3, should be at least 1)euclidean_cluster_comparator_(new pcl::EuclideanClusterComparator<PointT, pcl::Normal, pcl::Label>)/home/ckq/catkin_ws_iit/src/semantic_slam_nav_ros/orbslam/src/MergeSG.cc:398:69: error: no matching function for call to ‘pcl::EuclideanClusterComparator<pcl::PointXYZRGB>::setExcludeLabels(std::shared_ptr<const std::vector<bool> >&)’euclidean_cluster_comparator_->setExcludeLabels(plane_labels_ptr);

报错4:

/home/ckq/catkin_ws_iit/src/semantic_slam_nav_ros/dense_surfel_mapping/src/surfel_map.cpp:767:46:   required from here
/opt/ros/noetic/include/ros/message_traits.h:125:14: error:const class std::shared_ptr<pcl::PointCloud<pcl::PointXYZI> >has no member named__getMD5Sumreturn m.__getMD5Sum().c_str();/home/ckq/catkin_ws_iit/src/semantic_slam_nav_ros/dense_surfel_mapping/src/surfel_map.cpp:767:46:   required from here
/opt/ros/noetic/include/ros/message_traits.h:142:14: error:const class std::shared_ptr<pcl::PointCloud<pcl::PointXYZI> >has no member named__getDataTypereturn m.__getDataType().c_str();/home/ckq/catkin_ws_iit/src/semantic_slam_nav_ros/dense_surfel_mapping/src/surfel_map.cpp:767:46:   required from here
/opt/ros/noetic/include/ros/message_traits.h:125:14: error:const class std::shared_ptr<pcl::PointCloud<pcl::PointXYZI> >has no member named__getMD5Sumreturn m.__getMD5Sum().c_str();已经解决!!! 详情看csdn的相关博客内容!!!

orbslam_semantic_nav_ros 编译出现的问题2

数据集下载
https://lifelong-robotic-vision.github.io/dataset/scene

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

《Docker极简教程》--Docker镜像--Docker镜像的创建和使用

一、Docker 镜像的创建 1.1 基于 Dockerfile 创建镜像 当你基于 Dockerfile 创建镜像时&#xff0c;你需要编写一个描述镜像构建步骤的文本文件&#xff0c;该文件称为 Dockerfile。下面是一个简单的示例 Dockerfile 和相应的说明&#xff1a; # 使用指定的基础镜像 FROM ub…

面试计算机网络框架八股文十问十答第三期

面试计算机网络框架八股文十问十答第三期 作者&#xff1a;程序员小白条&#xff0c;个人博客 相信看了本文后&#xff0c;对你的面试是有一定帮助的&#xff01;关注专栏后就能收到持续更新&#xff01; ⭐点赞⭐收藏⭐不迷路&#xff01;⭐ 1&#xff09;GET和POST请求的区…

JavaScript中如何判断数据类型

在JavaScript中&#xff0c;判断数据类型是我们在日常开发中经常会遇到的问题。正确地判断数据类型不仅有助于我们编写出更加健壮的代码&#xff0c;还可以提高程序的可读性和可维护性。本文将为大家介绍几种判断数据类型的方法 使用typeof运算符&#xff1a; typeof运算符可以…

[NSSRound#17 Basic]WEB

1.真签到 看robots.txt 密码先base32再base64得到md5加密的密文&#xff0c;在线解得到密码为Nss hint用16进制转字符串&#xff0c;提示新生赛遇到过 是一个敲击码加密 账号是ctfer,登录之后源码提示在F111n4l.php 要求nss参数若比较等于732339662&#xff0c;但是不能是数…

rtt设备io框架面向对象学习-脉冲编码器设备

目录 1.脉冲编码器设备基类2.脉冲编码器设备基类的子类3.初始化/构造流程3.1设备驱动层3.2 设备驱动框架层3.3 设备io管理层 4.总结5.使用 1.脉冲编码器设备基类 此层处于设备驱动框架层。也是抽象类。 在/ components / drivers / include / drivers 下的pulse_encoder.h定义…

Java学习21--abstract抽象类

abstract抽象类 在Java中&#xff0c;abstract 是一个关键字&#xff0c;用于定义抽象类abstract class或抽象方法abstract method。abstract class是一种特殊的class&#xff0c;它不能用来建立具体的object&#xff0c;即不能实例化对象。abstract class通常用作其他类的基类…

关于idea无法检测出lombok,导致代码爆红的处理

为啥需要本地安装lombok插件&#xff1f; 编译错误提示&#xff1a;Lombok 使用注解来自动生成代码&#xff0c;这些代码在编译时会由 Lombok 插件进行处理。如果没有安装 Lombok 插件&#xff0c;IDEA 在编译过程中可能会报告错误&#xff0c;因为它无法识别并处理 Lombok 注解…

【RL】Bellman Optimality Equation(贝尔曼最优等式)

Lecture3: Optimal Policy and Bellman Optimality Equation Definition of optimal policy state value可以被用来去评估policy的好坏&#xff0c;如果&#xff1a; v π 1 ( s ) ≥ v π 2 ( s ) for all s ∈ S v_{\pi_1}(s) \ge v_{\pi_2}(s) \;\;\;\;\; \text{for all…

Python数据科学:Scikit-Learn机器学习

4.1Scikit-Learn机器学习 Scikit-Learn使用的数据表示&#xff1a;二维网格数据表 实例1&#xff1a;通过Seaborn导入数据 def skLearn():scikit Learn基本介绍:return:import seaborn as sns#导入Iris数据集#注&#xff1a;一般网络访问不了iris sns.load_dataset(iris)ir…

【JavaScript】回调函数

文章目录 1. 什么是回调函数2. 回调函数的用法作为函数参数作为匿名函数 3. 处理异步编程4. 解决回调地狱问题5. 总结 在 JavaScript 中&#xff0c; 回调函数是一种重要的编程模式&#xff0c;特别是在处理异步操作时。本篇博客将介绍回调函数的概念、用法以及在异步编程中的…

Jdk11新增特性

目录 模块化系统(Jigsaw) 新的垃圾收集器(ZGC和Shenandoah) 新的API和工具 其他改进 JDK 11(Java Development Kit 11)Java的版本引入了一些新特性和改进,主要有:

助眠神器小程序源码|白噪音|小睡眠|微信小程序前后端开源

安装要求和说明后端程序运行环境&#xff1a;NginxPHP7.4MySQL5.6 PHP程序扩展安装&#xff1a;sg11 网站运行目录设置为&#xff1a;public 伪静态规则选择&#xff1a;thinkphp 数据库修改文件路径&#xff1a;/config/database.php需要配置后端的小程序配置文件&#xff0c;…

[word] word分割线在哪里设置 #其他#经验分享

word分割线在哪里设置 在工作中有些技巧&#xff0c;可以快速提高工作效率&#xff0c;解决大部分工作&#xff0c;今天给大家分享word分割线在哪里设置的小技能&#xff0c;希望可以帮助到你。 1、快速输入分割线 输入三个【_】按下回车就是一条长直线&#xff0c;同样分别…

webgis后端安卓系统部署攻略,超详细Termux攻略

目录 前言 一、将后端项目编译ARM64 二、安卓手机安装termux 1.更换为国内源 2.安装ssh远程访问 3.安装文件远程访问 三、安装postgis数据库 1.安装数据库 2.数据库配置 3.数据导入 四、后端项目部署 五、自启动设置 总结 前言 因为之前一直做的H5APP开发&#xf…

webpack面试解析

参考&#xff1a; 上一篇webpack相关的系列&#xff1a;webpack深入学习&#xff0c;搭建和优化react项目 爪哇教育字节面试官解析webpack-路白 1、Webpack中的module是什么&#xff1f; 通常来讲&#xff0c;一个 module 模块就是指一个文件中导出的内容&#xff0c;webpack…

什么是系统工程(字幕)27

0 00:00:00,990 --> 00:00:03,590 那么下一个在16.4 1 00:00:03,590 --> 00:00:06,190 16.4是描述需求嘛 2 00:00:06,190 --> 00:00:06,970 对不对 3 00:00:07,250 --> 00:00:07,501 4 00:00:07,501 --> 00:00:10,520 在那个教材里面是描述需求 5 00:00:11,…

android--RxJava源码详解

其实所有的节日都不是为了礼物和红包而生&#xff0c;而是为了提醒我们&#xff0c;不要忘记爱与被爱&#xff0c;生活需要仪式感&#xff0c;而你需要的是在乎和关爱 目录 前言 一&#xff0c;Hook点 二&#xff0c;RXJava的观察者模式 三&#xff0c;Map操作符原理 前言 关于…

Amber-Leedcode-Java - 代码随想录打卡第38 - 39天-动态规划汇总

本质上感觉是一个相加的问题&#xff0c;状态的转换&#xff0c;由前一种状态推至下一种状态509. 斐波那契数 较为简单 746. 使用最小花费爬楼梯 62. 不同路径 一开始写的时候被吓到了&#xff0c;但是发现听完一半之后再写还是比较容易的 对于我而言主要是找到逻辑&#xf…

Linux文件属性与目录等知识详解

在 Linux 系统中&#xff0c;文件和目录是基本的文件系统组成部分。文件系统是用于组织和存储文件的一种结构&#xff0c;而文件和目录则是文件系统的核心元素。以下是对 Linux 文件和目录的详细解释&#xff1a; 1. 文件&#xff08;File&#xff09; 在 Linux 中&#xff0…

Vue3+Ant-Design-Vue:报错Cannot read properties of null (reading ‘isCE‘)

问题描述 在使用Ant-Design-Vue内置的Table表格组件&#xff0c;实现expand展开行功能时&#xff0c;报错&#xff1a;Uncaught TypeError: Cannot read properties of null (reading ‘isCE‘) 。 报错信息图示&#xff1a; 在GitHub上找到如下描述&#xff0c; 解决方案 网上…