安装步骤参考:
Ubuntu18.04安装PCL(详细教程)
在Ubuntu中安装Eigen3库
编译出错,eigen官网下载,更换eigen版本
查看eigen版本
【Linux 问题记录】(2)内存不足
解决c++: internal compiler error: 已杀死 (program cc1plus)
sudo apt-get update
sudo apt-get install git build-essential linux-libc-dev
sudo apt-get install cmake cmake-gui
sudo apt-get install libusb-1.0-0-dev libusb-dev libudev-dev
sudo apt-get install mpi-default-dev openmpi-bin openmpi-common
sudo apt-get install libflann1.9 libflann-dev
sudo apt-get install libeigen3-dev 这个需要自己下载正确版本安装
sudo apt-get install libboost-all-dev
sudo apt-get install libvtk7.1-qt
sudo apt-get install libvtk7.1
sudo apt-get install libvtk7-qt-dev(按照错误提示一步一步安装所需要的东西)
sudo apt-get install libqhull* libgtest-dev
sudo apt-get install freeglut3-dev pkg-config
sudo apt-get install libxmu-dev libxi-dev
sudo apt-get install mono-complete
sudo apt-get install openjdk-8-jdk openjdk-8-jre
安装Git版本控制工具、构建必备工具和Linux内核开发所需的libc头文件。
sudo apt-get install git build-essential linux-libc-dev
git
:Git版本控制工具。
build-essential
:它是一组常用的构建工具,包括编译器、链接器和其他构建所需的工具。
linux-libc-dev
:它提供了Linux内核开发所需的libc(C标准库)头文件。
安装CMake构建工具及其图形用户界面版本,以便在你的系统上进行项目构建和管理。
sudo apt-get install cmake cmake-gui
cmake
:这是要安装的软件包的名称,即CMake构建工具。
cmake-gui
:这是要安装的软件包的名称,它提供了CMake的图形用户界面版本,可通过图形界面进行配置和生成项目构建系统。
安装与USB和udev相关的开发库,以便在你的系统上进行USB设备的访问、控制和设备管理。
sudo apt-get install libusb-1.0-0-dev libusb-dev libudev-dev
libusb-1.0-0-dev
:这是要安装的软件包的名称,它提供了与USB通信相关的开发库,用于在应用程序中进行USB设备的访问和控制。
libusb-dev
:这是要安装的软件包的名称,它是旧版的libusb开发库,用于支持与USB设备进行交互的应用程序开发。
libudev-dev
:这是要安装的软件包的名称,它提供了udev(Linux下的设备管理)的开发库,用于在应用程序中进行设备管理和监控。
安装MPI(Message Passing Interface)的开发和运行时环境,以便在你的系统上进行MPI并行计算和开发MPI应用程序。
sudo apt-get install mpi-default-dev openmpi-bin openmpi-common
mpi-default-dev
:这是要安装的软件包的名称,它是MPI的默认开发包,包含了开发所需的头文件和库。
openmpi-bin
:这是要安装的软件包的名称,它是OpenMPI的二进制文件,用于执行MPI程序。
openmpi-common
:这是要安装的软件包的名称,它包含了OpenMPI的共享文件和配置文件。
安装FLANN库的运行时和开发环境,以便在你的系统上进行近似最近邻搜索的应用程序开发和运行。
sudo apt-get install libflann1.9 libflann-dev
FLANN(Fast Library for Approximate Nearest Neighbors)是一个快速的近似最近邻搜索库,用于高维数据集的快速查询。FLANN库提供了一种有效的方法来解决最近邻搜索问题,给定一个查询点,它可以在大规模数据集中快速找到与之最接近的数据点。
对于许多机器学习、计算机视觉和模式识别任务非常有用,例如图像匹配、物体识别、聚类和数据可视化等。FLANN库的主要特点包括:
- 高效性:FLANN使用一系列优化的数据结构和算法,以实现快速的近似最近邻搜索。它支持不同的搜索策略,如KD-Tree、KMeans和LSH等。
- 可扩展性:FLANN可以处理大规模的数据集,具有较低的内存消耗和快速的查询速度。它能够应对高维数据的挑战,并支持动态数据集的更新和删除。
- 简单易用:FLANN提供了简单的接口和灵活的配置选项,使用户可以方便地集成它到自己的应用程序中。它支持多种编程语言,如C++、Python和MATLAB等。
libflann1.9
:这是要安装的软件包的名称,它是FLANN库的运行时库,提供了近似最近邻搜索的功能。
libflann-dev
:这是要安装的软件包的名称,它是FLANN库的开发包,包含了开发所需的头文件和库文件。
安装Eigen库的开发环境。以便在你的系统上进行线性代数和数值计算的应用程序开发。
sudo apt-get install libeigen3-dev
可在终端中输入locate eigen3查看
apt-get
默认安装位置
因为eigen3 被默认安装到了usr/local/include里了(或者是usr/include里,这两个都差不多,都是系统默认的路径),在很多程序中include时经常使用#include而不是使用#include 所以要做下处理,否则一些程序在编译时会因找不到Eigen/Dense而报错。上面指令将usr/local/include/eigen3文件夹中的Eigen文件递归地复制到上一层文件夹(直接放到/usr/local/include中,否则系统无法默认搜索到 -> 此时只能在CMakeLists.txt用include_libraries(绝对路径了))
解决
2.1 安装eigen依赖
sudo apt-get install libeigen3-dev
2.2 在Github上克隆一个eigen3库
#在GitHub上克隆eigen3库文件
git clone https://github.com/OPM/eigen3.git
#编译安装
cd eigen3
mkdir build
cd build
cmake ..
sudo make install
#移动头文件
sudo cp -r /usr/local/include/eigen3/Eigen /usr/local/include
sudo make install 是一个常见的用法,用于在 Linux 系统中使用 Makefile 构建的项目中安装编译后的文件。该命令会执行 Makefile 中定义的安装规则,将生成的文件复制到系统的标准位置,以使它们可以被其他程序或用户访问。
在运行 sudo make install 前,请确保你已经在正确的目录中,包含了 Makefile 文件,并且已经按照项目的要求完成了编译过程。
2.3 测试
1)新建test.cpp文件
#建立 test 测试文件
touch test.cpp
#用 gedit 打开此测试文件
gedit test.cp
2)添加测试代码
#include
#include
//using Eigen::MatrixXd;
using namespace Eigen;
using namespace Eigen::internal;
using namespace Eigen::Architecture;
using namespace std;
int main()
{
cout<<"*******************1D-object****************"<
3)编译测试代码
g++ test.cpp -o test
编译后会在当前目录下生成一个可执行文件,文件名为 test
。
4)运行测试代码
#cd test文件所在目录
./test
Eigen是一个C++模板库,提供线性代数运算和数值计算的功能。它被广泛用于科学计算、机器学习和计算机图形学等领域。
libeigen3-dev
:它是Eigen库的开发包,包含了开发所需的头文件和库文件。
安装使用 Boost 库开发和编译 C++ 程序的环境。
sudo apt-get install libboost-all-dev
Boost 是一个广泛使用的 C++ 库集合,提供了许多用于各种任务的工具和组件,如数据结构、多线程、文件系统、正则表达式等。
libboost-all-dev
是一个在 Linux 系统上安装 Boost 库的软件包。
sudo apt-get install libvtk7.1-qt
sudo apt-get install libvtk7-qt-dev
libvtk7.1-qt
是一个用于在 Linux 系统上安装 VTK(Visualization Toolkit)库的软件包。VTK 是一个用于可视化和图形处理的开源库,广泛应用于科学、工程和医学等领域。
libvtk7-qt-dev
是一个在 Linux 系统上安装 VTK(Visualization Toolkit)库及其 Qt 开发支持的软件包。VTK 是一个用于可视化和图形处理的开源库,而 Qt 是一个跨平台的应用程序开发框架,提供了丰富的图形界面和工具。
sudo apt-get install libqhull* libgtest-dev
sudo apt-get install freeglut3-dev pkg-config
sudo apt-get install libxmu-dev libxi-dev
sudo apt-get install mono-complete
sudo apt-get install openjdk-8-jdk openjdk-8-jre
libqhull
是用于安装 Qhull 库的软件包。Qhull 是一个用于计算几何学的开源库,提供了各种几何计算和几何数据处理的功能。
libgtest-dev
是用于安装 Google Test(gtest)库的软件包。Google Test 是一个 C++ 的单元测试框架,用于编写和运行测试代码。
sudo
:它是"superuser do"的缩写,用于以超级用户(root)权限执行命令。在安装软件或进行系统级操作时,通常需要使用sudo来获取足够的权限。
apt-get
:它是Debian和Ubuntu中的包管理器,用于从软件仓库中安装、升级、删除和管理软件包。
git clone https://github.com/PointCloudLibrary/pcl.git
默认下载最新版
cd pcl
mkdir release
cd release
cmake -DCMAKE_BUILD_TYPE=None -DCMAKE_INSTALL_PREFIX=/usr \ -DBUILD_GPU=ON-DBUILD_apps=ON -DBUILD_examples=ON \ -DCMAKE_INSTALL_PREFIX=/usr ..
make
sudo make install
Eigen
相关报错dpkg -s libeigen3-dev | grep Version
3.3.4
使用git clone https://github.com/OPM/eigen3.git
安装的不是最新版
改为使用eigen官网下载需要版本,解压编译安装。
mkdir build
cd build
cmake ..
make
sudo make install
先尝试了3.2.10,报错依然存在,遂尝试最新版3.4.0,报错解决。
原因:内存不足
dd: failed to open ‘/swapfile’: Text file busy 如下图: 这个时候你只需要运行 sudo swapoff -a 即可解决。 然后继续创建交换分区即可。
解决:【Linux 问题记录】(2)内存不足
cd /path/to/pcl/test
pcl_viewer car6.pcd
两辆车的点云可视化,安装成功。