open_vins 安装(ubuntu18.04 opencv3.2.0)

openvins官网

Getting Started » Installation Guide (ROS1 and ROS2) | OpenVINS

Ubuntu 18.04 ROS 1 Melodic (uses OpenCV 3.2)

这里他指的是ros1 melodic,他们用的opencv3.2测试过。

open_vins 官方给的组合Ubuntu 18.04 ROS 1 Melodic (uses OpenCV 3.2)

Ubuntu 18.04   opencv 3.2.0   

我本机是3.4.8其实,别人的博客用的3.4.6,肯定是没限定,但是你得踩坑。

opencv默认没有aruco

SourceURL:file:///home/hqw/openvins.docx

openvins官网

Getting Started » Installation Guide (ROS1 and ROS2) | OpenVINS

Ubuntu 18.04 ROS 1 Melodic (uses OpenCV 3.2)

这里他指的是ros1 melodic,他们用的opencv3.2测试过。

open_vins 官方给的组合Ubuntu 18.04 ROS 1 Melodic (uses OpenCV 3.2)

Ubuntu 18.04   opencv 3.2.0   

我本机是3.4.8其实,别人的博客用的3.4.6,肯定是没限定,但是你得踩坑。

opencv默认没有aruco

opencv参考命令

git clone https://github.com/opencv/opencv/git clone https://github.com/opencv/opencv_contrib/mkdir opencv/build/cd opencv/build/cmake -DOPENCV_EXTRA_MODULES_PATH=../../opencv_contrib/modules ..make -j8sudo make install

实际根据需求去git找的release,没用官方这个命令。

ubuntu18.04安装运行OpenVINS_openvins运行-CSDN博客

这个博客也是3.2

指定一个独立目录

$ cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local/opencv320 -D E

各种报错

可选错误——CUDA报错

CMake Error at cmake/OpenCVCompilerOptions.cmake:21 (else):

  A duplicate ELSE command was found inside an IF block.

Call Stack (most recent call first):

  CMakeLists.txt:495 (include)

这种问题很简单了,直接打开cmake/OpenCVCompilerOptions.cmake:21 ,找到21行,他就是多了一行多余的endif,直接删除掉就好了

# else() # message(STATUS "Looking for ccache - not found")

CMake Error: The following variables are used in this project, but they are set to NOTFOUND.

Please set them or make sure they are set and tested correctly in the CMake files:

CUDA_nppi_LIBRARY (ADVANCED)

因为本机安装过cuda

解决方法:

第一步:在  opencv-3.2.0/cmake  文件夹下找到  FindCUDA.cmake 文件,对其进行修改

cd /home/zqzy/software/opencv-3.2.0/cmake

/home/hqw/hqw_opt/opencv/cmake/FindCUDA.cmake

sudo gedit FindCUDA.cmake

1)找到行

find_cuda_helper_libs(nppi)

改为

  find_cuda_helper_libs(nppial)

  find_cuda_helper_libs(nppicc)

  find_cuda_helper_libs(nppicom)

  find_cuda_helper_libs(nppidei)

  find_cuda_helper_libs(nppif)

  find_cuda_helper_libs(nppig)

  find_cuda_helper_libs(nppim)

  find_cuda_helper_libs(nppist)

  find_cuda_helper_libs(nppisu)

  find_cuda_helper_libs(nppitc)

上边那一对就是,但是需要把下边这个替换了?(-- CUDA detected: 11.4

)其实这一步我的版本不必(下边是5.5),按需操作

2)找到行

set(CUDA_npp_LIBRARY "${CUDA_nppc_LIBRARY};${CUDA_nppi_LIBRARY};${CUDA_npps_LIBRARY}")

改为

set(CUDA_npp_LIBRARY "${CUDA_nppc_LIBRARY};${CUDA_nppial_LIBRARY};${CUDA_nppicc_LIBRARY};${CUDA_nppicom_LIBRARY};${CUDA_nppidei_LIBRARY};${CUDA_nppif_LIBRARY};${CUDA_nppig_LIBRARY};${CUDA_nppim_LIBRARY};${CUDA_nppist_LIBRARY};${CUDA_nppisu_LIBRARY};${CUDA_nppitc_LIBRARY};${CUDA_npps_LIBRARY}")

3)找到行

unset(CUDA_nppi_LIBRARY CACHE)

改为

unset(CUDA_nppial_LIBRARY CACHE)

unset(CUDA_nppicc_LIBRARY CACHE)

unset(CUDA_nppicom_LIBRARY CACHE)

unset(CUDA_nppidei_LIBRARY CACHE)

unset(CUDA_nppif_LIBRARY CACHE)

unset(CUDA_nppig_LIBRARY CACHE)

unset(CUDA_nppim_LIBRARY CACHE)

unset(CUDA_nppist_LIBRARY CACHE)

unset(CUDA_nppisu_LIBRARY CACHE)

unset(CUDA_nppitc_LIBRARY CACHE)

第二步:  在  opencv-3.2.0/cmake  文件夹下找到文件  OpenCVDetectCUDA.cmake,对其进行修改

cd /home/zqzy/software/opencv-3.2.0/cmake

sudo gedit OpenCVDetectCUDA.cmake

  修改以下几行

 ...

  set(__cuda_arch_ptx "")

  if(CUDA_GENERATION STREQUAL "Fermi")

    set(__cuda_arch_bin "2.0")

  elseif(CUDA_GENERATION STREQUAL "Kepler")

    set(__cuda_arch_bin "3.0 3.5 3.7")

  ...

改为

  ...

  set(__cuda_arch_ptx "")

  if(CUDA_GENERATION STREQUAL "Kepler")

    set(__cuda_arch_bin "3.0 3.5 3.7")

  elseif(CUDA_GENERATION STREQUAL "Maxwell")

    set(__cuda_arch_bin "5.0 5.2")

  ...

第三步: Cuda9或者Cuda10及以后的版本 中有一个单独的halffloat(cuda_fp16.h)头文件,也应该被包括在opencv的目录里

将头文件cuda_fp16.h添加至 opencv/modules/cudev/include/opencv2/cudev/common.hpp

cd /home/zqzy/software/opencv-3.2.0/modules/cudev/include/opencv2/cudev

sudo gedit common.hpp

即在common.hpp中添加

#include <cuda_fp16.h>

重新生成即可

最后都试了,不行,不知道本机环境什么情况,毕竟不是我新装的机器,docker、cuda、ros、opencv

不带cuda

$ cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr/local/opencv320  -DWITH_CUDA=OFF   ..

undefined reference to `cblas_sgemm

缺库

sudo apt-get install libopenblas-dev

$ cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr/local/opencv320  -DWITH_CUDA=OFF  -DCMAKE_EXE_LINKER_FLAGS=-lcblas   ..

make -j8

sudo make install

$ ls /usr/local/opencv320/

bin  include  lib  share

Release 3.2.0 · opencv/opencv_contrib · GitHub

忘了带contrib和aruco,删除/usr/local/opencv320,重装

cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr/local/opencv320  -DWITH_CUDA=OFF  -DCMAKE_EXE_LINKER_FLAGS=-lcblas -DOPENCV_EXTRA_MODULES_PATH=../../opencv_contrib-3.2.0   ..

opencv编译不过

fatal error: linux/videodev.h: No such file or directory

sudo apt-get install libv4l-dev sudo ln -s /usr/include/libv4l1-videodev.h /usr/include/linux/videodev.h

fatal error: sys/videoio.h: No such file or directory

其实是/modules/没写进去

$ cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr/local/opencv320  -DWITH_CUDA=OFF  -DCMAKE_EXE_LINKER_FLAGS=-lcblas -DOPENCV_EXTRA_MODULES_PATH=../../opencv_contrib-3.2.0/modules/   ..

-- Configuring done

-- Generating done

-- Build files have been written to: /home/hqw/hqw_opt/opencv-3.2.0/build

配置成功

编译失败

 fatal error: LAPACKE_H_PATH-NOTFOUND/lapacke.h: No such file or directory #include “LAPACKE_H_PATH-NOTFOUND/lapacke.h”

sudo apt-get install liblapacke-dev checkinstall

修改出现问题的文件,例如我的文件是opencv-3.2.0/build/opencv_lapack.h



将第二行中的#include"LAPACKE_H_PATH-NOTFOUND/lapacke.h" 修改为#include"lapacke.h"即可

报错

fatal error: unsupported/Eigen/MatrixFunctions: No such file or directory

首先确保Eigen已经安装了,然后找到Eigen所在的路径。我的在/usr/include/eigen3这里

然后将报错的文件中的下面句子

include <unsupported/Eigen/MatrixFunctions>

改成

include </usr/include/eigen3/unsupported/Eigen/MatrixFunctions>

// #include <unsupported/Eigen/MatrixFunctions>

#include </usr/include/eigen3/unsupported/Eigen/MatrixFunctions>

编译成功

安装

看到openvins引用新编译的opencv库,新的是3.2.0,默认是3.4.8,虽然我没替换3.4.8,制定了/usr/local/opencv320/,但是执行了make install。。。。

被install以后被自动找到直接就编译成功了,如果找不到就改一下cmakelists.txt

opencv参考命令

git clone https://github.com/opencv/opencv/git clone https://github.com/opencv/opencv_contrib/mkdir opencv/build/cd opencv/build/cmake -DOPENCV_EXTRA_MODULES_PATH=../../opencv_contrib/modules ..make -j8sudo make install

实际根据需求去git找的release,没用官方这个命令。

ubuntu18.04安装运行OpenVINS_openvins运行-CSDN博客

这个博客也是3.2

指定一个独立目录

$ cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local/opencv320 -D E

各种报错

CMake Error at cmake/OpenCVCompilerOptions.cmake:21 (else):

  A duplicate ELSE command was found inside an IF block.

Call Stack (most recent call first):

  CMakeLists.txt:495 (include)

这种问题很简单了,直接打开cmake/OpenCVCompilerOptions.cmake:21 ,找到21行,他就是多了一行多余的endif,直接删除掉就好了

# else() # message(STATUS "Looking for ccache - not found")

CMake Error: The following variables are used in this project, but they are set to NOTFOUND.

Please set them or make sure they are set and tested correctly in the CMake files:

CUDA_nppi_LIBRARY (ADVANCED)

因为本机安装过cuda

解决方法:

第一步:在  opencv-3.2.0/cmake  文件夹下找到  FindCUDA.cmake 文件,对其进行修改

cd /home/zqzy/software/opencv-3.2.0/cmake

/home/hqw/hqw_opt/opencv/cmake/FindCUDA.cmake

sudo gedit FindCUDA.cmake

1)找到行

find_cuda_helper_libs(nppi)

改为

  find_cuda_helper_libs(nppial)

  find_cuda_helper_libs(nppicc)

  find_cuda_helper_libs(nppicom)

  find_cuda_helper_libs(nppidei)

  find_cuda_helper_libs(nppif)

  find_cuda_helper_libs(nppig)

  find_cuda_helper_libs(nppim)

  find_cuda_helper_libs(nppist)

  find_cuda_helper_libs(nppisu)

  find_cuda_helper_libs(nppitc)

上边那一对就是,但是需要把下边这个替换了?(-- CUDA detected: 11.4

)其实这一步我的版本不必(下边是5.5),按需操作

2)找到行

set(CUDA_npp_LIBRARY "${CUDA_nppc_LIBRARY};${CUDA_nppi_LIBRARY};${CUDA_npps_LIBRARY}")

改为

set(CUDA_npp_LIBRARY "${CUDA_nppc_LIBRARY};${CUDA_nppial_LIBRARY};${CUDA_nppicc_LIBRARY};${CUDA_nppicom_LIBRARY};${CUDA_nppidei_LIBRARY};${CUDA_nppif_LIBRARY};${CUDA_nppig_LIBRARY};${CUDA_nppim_LIBRARY};${CUDA_nppist_LIBRARY};${CUDA_nppisu_LIBRARY};${CUDA_nppitc_LIBRARY};${CUDA_npps_LIBRARY}")

3)找到行

unset(CUDA_nppi_LIBRARY CACHE)

改为

unset(CUDA_nppial_LIBRARY CACHE)

unset(CUDA_nppicc_LIBRARY CACHE)

unset(CUDA_nppicom_LIBRARY CACHE)

unset(CUDA_nppidei_LIBRARY CACHE)

unset(CUDA_nppif_LIBRARY CACHE)

unset(CUDA_nppig_LIBRARY CACHE)

unset(CUDA_nppim_LIBRARY CACHE)

unset(CUDA_nppist_LIBRARY CACHE)

unset(CUDA_nppisu_LIBRARY CACHE)

unset(CUDA_nppitc_LIBRARY CACHE)

第二步:  在  opencv-3.2.0/cmake  文件夹下找到文件  OpenCVDetectCUDA.cmake,对其进行修改

cd /home/zqzy/software/opencv-3.2.0/cmake

sudo gedit OpenCVDetectCUDA.cmake

  修改以下几行

 ...

  set(__cuda_arch_ptx "")

  if(CUDA_GENERATION STREQUAL "Fermi")

    set(__cuda_arch_bin "2.0")

  elseif(CUDA_GENERATION STREQUAL "Kepler")

    set(__cuda_arch_bin "3.0 3.5 3.7")

  ...

改为

  ...

  set(__cuda_arch_ptx "")

  if(CUDA_GENERATION STREQUAL "Kepler")

    set(__cuda_arch_bin "3.0 3.5 3.7")

  elseif(CUDA_GENERATION STREQUAL "Maxwell")

    set(__cuda_arch_bin "5.0 5.2")

  ...

第三步: Cuda9或者Cuda10及以后的版本 中有一个单独的halffloat(cuda_fp16.h)头文件,也应该被包括在opencv的目录里

将头文件cuda_fp16.h添加至 opencv/modules/cudev/include/opencv2/cudev/common.hpp

cd /home/zqzy/software/opencv-3.2.0/modules/cudev/include/opencv2/cudev

sudo gedit common.hpp

即在common.hpp中添加

#include <cuda_fp16.h>

重新生成即可

最后都试了,不行,不知道本机环境什么情况,毕竟不是我新装的机器,docker、cuda、ros、opencv

不带cuda

$ cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr/local/opencv320  -DWITH_CUDA=OFF   ..

undefined reference to `cblas_sgemm

缺库

sudo apt-get install libopenblas-dev

$ cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr/local/opencv320  -DWITH_CUDA=OFF  -DCMAKE_EXE_LINKER_FLAGS=-lcblas   ..

make -j8

sudo make install

$ ls /usr/local/opencv320/

bin  include  lib  share

Release 3.2.0 · opencv/opencv_contrib · GitHub

忘了带contrib和aruco,删除/usr/local/opencv320,重装

cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr/local/opencv320  -DWITH_CUDA=OFF  -DCMAKE_EXE_LINKER_FLAGS=-lcblas -DOPENCV_EXTRA_MODULES_PATH=../../opencv_contrib-3.2.0   ..

opencv编译不过

fatal error: linux/videodev.h: No such file or directory

sudo apt-get install libv4l-dev sudo ln -s /usr/include/libv4l1-videodev.h /usr/include/linux/videodev.h

fatal error: sys/videoio.h: No such file or directory

其实是/modules/没写进去

$ cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr/local/opencv320  -DWITH_CUDA=OFF  -DCMAKE_EXE_LINKER_FLAGS=-lcblas -DOPENCV_EXTRA_MODULES_PATH=../../opencv_contrib-3.2.0/modules/   ..

-- Configuring done

-- Generating done

-- Build files have been written to: /home/hqw/hqw_opt/opencv-3.2.0/build

配置成功

编译失败

 fatal error: LAPACKE_H_PATH-NOTFOUND/lapacke.h: No such file or directory #include “LAPACKE_H_PATH-NOTFOUND/lapacke.h”

sudo apt-get install liblapacke-dev checkinstall

修改出现问题的文件,例如我的文件是opencv-3.2.0/build/opencv_lapack.h



将第二行中的#include"LAPACKE_H_PATH-NOTFOUND/lapacke.h" 修改为#include"lapacke.h"即可

报错

fatal error: unsupported/Eigen/MatrixFunctions: No such file or directory

首先确保Eigen已经安装了,然后找到Eigen所在的路径。我的在/usr/include/eigen3这里

然后将报错的文件中的下面句子

include <unsupported/Eigen/MatrixFunctions>

改成

include </usr/include/eigen3/unsupported/Eigen/MatrixFunctions>

// #include <unsupported/Eigen/MatrixFunctions>

#include </usr/include/eigen3/unsupported/Eigen/MatrixFunctions>

安装

openvins引用新编译的opencv库

被install以后被自动找到,如果找不到就改一下cmakelists.txt

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

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

相关文章

IDEA 开发中常用的快捷键

目录 Ctrl 的快捷键 Alt 的快捷键 Shift 的快捷键 Ctrl Alt 的快捷键 Ctrl Shift 的快捷键 其他的快捷键 Ctrl 的快捷键 Ctrl F 在当前文件进行文本查找 &#xff08;必备&#xff09; Ctrl R 在当前文件进行文本替换 &#xff08;必备&#xff09; Ctrl Z 撤…

奇富科技跻身国际AI学术顶级会议ICASSP 2024,AI智能感知能力迈入新纪元

近日&#xff0c;2024年IEEE声学、语音与信号处理国际会议ICASSP 2024&#xff08;2024 IEEE International Conference on Acoustics, Speech, and Signal Processing&#xff09;宣布录用奇富科技关于语音情感计算的最新研究成果论文“MS-SENet: Enhancing Speech Emotion Re…

PHP的Laravel加一个小页面出现问题(whereRaw的用法)

1.权限更新问题 因为是已经有样例了所以html和php页面很快写出来了 然后就是页面写完了路由不知道在哪写&#xff0c;后来想起来之前有要开权限来着&#xff0c;试了一下&#xff0c;还是不行&#xff0c;不过方向是对了 这是加的路由&#xff0c;不过需要在更新一下权限 这…

知识库问答LangChain+LLM的二次开发:商用时的典型问题及其改进方案

前言 如之前的文章所述&#xff0c;我司下半年成立大模型项目团队之后&#xff0c;我虽兼管整个项目团队&#xff0c;但为让项目的推进效率更高&#xff0c;故分成了三大项目组 第一项目组由霍哥带头负责类似AIGC模特生成系统第二项目组由阿荀带头负责论文审稿GPT以及AI agen…

在 Windows 中安装 SQLite 数据库

在 Windows 上安装 SQLite 步骤1 请访问 SQLite 下载页面&#xff0c;从 Windows 区下载预编译的二进制文件 ​ 步骤2 您需要下载 sqlite-dll-win-x64-3440200.zip 和 sqlite-tools-win-x64-3440200.zip 压缩文件 步骤3 创建文件夹 C:\Program Files\SQLite&#xff0c;并在…

PHP的Laravel的数据库迁移

1.默认迁移文件 2.数据库迁移 在终端输入以下代码 php artisan migrate 我的报错啦&#xff01;&#xff01;&#xff01;&#xff01;&#xff01; 数据库里面只有两张表&#xff0c;实际上应该有四张的&#xff01;&#xff01;&#xff01; 解决方法&#xff1a; 反正表已…

Modbus RTU转Modbus TCP模块,RS232/485转以太网模块,YL102 多功能串口服务器模块

特点&#xff1a; ● Modbus RTU协议自动转换成Mobus TCP协议 ● 100M高速网卡&#xff0c;10/100M 自适应以太网接口 ● 支持 AUTO MDI/MDIX&#xff0c;可使用交叉网线或平行网线连接 ● RS232波特率从300到256000可设置 ● 工作方式可选择TCP Server, TCP Client, U…

【Leetcode】重排链表、旋转链表、反转链表||

目录 &#x1f4a1;重排链表 题目描述 方法一&#xff1a; 方法二&#xff1a; &#x1f4a1;旋转链表 题目描述 方法&#xff1a; &#x1f4a1;反转链表|| 题目描述 方法&#xff1a; &#x1f4a1;总结 &#x1f4a1;重排链表 题目描述 给定一个单链表 L 的头节…

位移贴图、凹凸贴图和法线贴图之间的差异

在线工具推荐&#xff1a; 3D数字孪生场景编辑器 - GLTF/GLB材质纹理编辑器 - 3D模型在线转换 - Three.js AI自动纹理开发包 - YOLO 虚幻合成数据生成器 - 三维模型预览图生成器 - 3D模型语义搜索引擎 这三种类型的贴图中的每一种都会在几何体表面上创建看起来像其他分辨…

uniApp中uView组件库的丰富布局方法

目录 基本使用 #分栏间隔 #混合布局 #分栏偏移 #对齐方式 API #Row Props #Col Props #Row Events #Col Events UniApp的uView组件库是一个丰富的UI组件库&#xff0c;提供了各种常用的UI组件和布局方法&#xff0c;帮助开发者快速构建美观、灵活的界面。下面给你写一…

(windows2012共享文件夹和防火墙设置

windows2012共享文件夹和防火墙设置 1.windows2012文件夹共享1.共享和高级共享的区别![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/0d815cc6862a4c7a99be11442fb5d950.png#pic_center) 2.windows的防火墙设置1.防火墙设置8080端口让tomot可以在主机可以访问1.新建…

Switch语句与链接—计算机系统基础

实验内容&#xff1a;修改二进制可重定位目标文件“phase1.o”中相关节的内容&#xff08;注意不允许修改.text节和重定位节的内容&#xff09;&#xff0c;使其与main.o模块如下链接后运行时输出目标字符串“123456789” gcc -no-pie -o linkbomb main.o phase1.o ./linkbomb…

Pandas的datetime数据类型

Python的datetime对象 Python内置了datetime对象&#xff0c;可以在datetime库中找到 from datetime import datetime now datetime.now() now 还可以手动创建datetime t2 datetime(2023,4,21) now-t2 # datetime.timedelta(days251, seconds31427, microseconds546921)将…

C# WPF上位机开发(MVVM模式开发)

【 声明&#xff1a;版权所有&#xff0c;欢迎转载&#xff0c;请勿用于商业用途。 联系信箱&#xff1a;feixiaoxing 163.com】 学习过vue的同学都知道mvvm这个名词。从字面上理解&#xff0c;可能有点拗口&#xff0c;但是我们可以去理解一下它的优点是什么。mvc相信大家都明…

生产系统稳定上线600天!中国联通CUDB for OceanBase的开源共建和规模化应用

中国联通软件研究院架构部平台承载了上千应用的数据库需求&#xff0c;并且现存大量数据库使用过程缺少规范、缺少监控&#xff0c;同时还存在着数据库核心技术相关风险。为了实现核心技术自主可控&#xff0c;及时为用户解决线上问题、满足用户的功能需求&#xff0c;提供物美…

GIT提交、回滚等基本操作记录

1、add文件时warning: LF will be replaced by CRLF in .idea/workspace.xml. 原因&#xff1a;windows中的换行符为 CRLF&#xff0c; 而在Linux下的换行符为LF&#xff0c;所以在执行add . 时会出现以下提示 解决&#xff1a;git config core.autocrlf false 2、GIT命令&…

【数据库系统概论】第4章-数据库安全性

复习用&#xff0c;别看了 文章目录 4.1 计算机安全性概述4.2 数据库安全性控制4.2.1 用户标识和鉴定4.2.2 存取控制4.2.3 自主存取控制方法4.2.4 数据库角色4.2.5 强制存取控制 4.3 视图机制4.4 审计4.5 数据加密4.6 其他安全性保护 4.1 计算机安全性概述 不安全因素 4.2 …

gin框架使用系列之五——表单校验

系列目录 《gin框架使用系列之一——快速启动和url分组》《gin框架使用系列之二——uri占位符和占位符变量的获取》《gin框架使用系列之三——获取表单数据》《gin框架使用系列之四——json和protobuf的渲染》 一 、表单验证的基本理论 在第三篇中&#xff0c;我们介绍了如何…

linux系统 CentOS Tomcat 部署论坛

jdk安装命令&#xff1a;yum -y install java-1.8.0-openjdk-devel.x86_64 结尾上显示下图为成功 检查jdk环境是否配置成功命令&#xff1a;java -version或javac 显示版本 显示信息 mysql安装&#xff1a; 检查是否存mariadb数据库&#xff1a;rpm -qa | grep mariad 卸载ma…

Elasticsearch中复制一个索引数据到新的索引中

问题 我有时候&#xff0c;需要调试一个已经存在的ES索引&#xff0c;需要从已有的索引复制数据到新的索引中去。 解决 这里我借助一个GUI工具&#xff0c;来解决这个问题&#xff0c;底层它是使用Reindex的API实现索引数据复制的。利用Reindex API搞不定这个事情&#xff0…