Linux 安装 PCL库

参考Ubuntu16.04安装PCL及及及遇到的坑坑坑_hailanglin的博客-CSDN博客

1.

sudo apt-get update

2. 安装VTK8.2版本, 在官网下载后Download | VTK

cd VTK_file
mkdir build & cd build
cmake ..
sudo make

遇到问题

[ 38%] Building C object ThirdParty/glew/vtkglew/CMakeFiles/vtkglew.dir/src/glew.c.o
make[2]: *** No rule to make target '/usr/lib/x86_64-linux-gnu/libGL.so', needed by 'lib/libvtkglew-8.2.so.1'。 停止。
CMakeFiles/Makefile2:2442: recipe for target 'ThirdParty/glew/vtkglew/CMakeFiles/vtkglew.dir/all' failed
make[1]: *** [ThirdParty/glew/vtkglew/CMakeFiles/vtkglew.dir/all] Error 2
Makefile:127: recipe for target 'all' failed
make: *** [all] Error 2

参考No rule to make target '/usr/lib/x86_64-linux-gnu/libGL.so - acewzj - 博客园, 重新创建了libGL.so链接,问题解决。

3. cmake ..时报错

 Checking for module 'libopenni2'
--   No package 'libopenni2' found

没有找到这个安装包,所以重新安装 问题解决

sudo apt-get install libopenni2-dev

4.

The imported target "vtkRenderingPythonTkWidgets" references the file
   "/usr/lib/x86_64-linux-gnu/libvtkRenderingPythonTkWidgets.so"
but this file does not exist.

The imported target "vtk" references the file
   "/usr/bin/vtk"
but this file does not exist

创建两个软链接

sudo ln -s /usr/lib/python2.7/dist-packages/vtk/libvtkRenderingPythonTkWidgets.x86_64-linux-gnu.so /usr/lib/x86_64-linux-gnu/libvtkRenderingPythonTkWidgets.so


sudo ln -s /usr/bin/vtk6 /usr/bin/vtk 

5.

CMake Error at /usr/lib/x86_64-linux-gnu/cmake/Qt5Gui/Qt5GuiConfig.cmake:27 (message):
  The imported target "Qt5::Gui" references the file

     "/usr/lib/x86_64-linux-gnu/libEGL.so"

解决:

ll | grep libEGL

看到
libEGL.so -> mesa-egl/libEGL.so

删除原来的链接,重新创建软链接
sudo rm libEGL.so
sudo ln -s libEGL.so.1.1.0 libEGL.so

6. Terminal没有报错,但是有configuration incomplete,error occured,  在log.txt中发现

Determining if the pthread_create exist failed with the following output:
Change Dir: /home/lihao/桌面/未命名文件夹/build/CMakeFiles/CMakeTmp

Run Build Command:"/usr/bin/make" "cmTC_56503/fast"
/usr/bin/make -f CMakeFiles/cmTC_56503.dir/build.make CMakeFiles/cmTC_56503.dir/build
make[1]: Entering directory '/home/lihao/桌面/未命名文件夹/build/CMakeFiles/CMakeTmp'
Building C object CMakeFiles/cmTC_56503.dir/CheckSymbolExists.c.o
/usr/bin/cc     -o CMakeFiles/cmTC_56503.dir/CheckSymbolExists.c.o   -c /home/lihao/桌面/未命名文件夹/build/CMakeFiles/CMakeTmp/CheckSymbolExists.c
Linking C executable cmTC_56503
/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_56503.dir/link.txt --verbose=1
/usr/bin/cc       CMakeFiles/cmTC_56503.dir/CheckSymbolExists.c.o  -o cmTC_56503 -rdynamic 
CMakeFiles/cmTC_56503.dir/CheckSymbolExists.c.o:在函数‘main’中:
CheckSymbolExists.c:(.text+0x16):对‘pthread_create’未定义的引用
collect2: error: ld returned 1 exit status
CMakeFiles/cmTC_56503.dir/build.make:97: recipe for target 'cmTC_56503' failed
make[1]: *** [cmTC_56503] Error 1
make[1]: Leaving directory '/home/lihao/桌面/未命名文件夹/build/CMakeFiles/CMakeTmp'
Makefile:126: recipe for target 'cmTC_56503/fast' failed
make: *** [cmTC_56503/fast] Error 2

File /home/lihao/桌面/未命名文件夹/build/CMakeFiles/CMakeTmp/CheckSymbolExists.c:
/* */
#include <pthread.h>

int main(int argc, char** argv)
{
  (void)argv;
#ifndef pthread_create
  return ((int*)(&pthread_create))[argc];
#else
  (void)argc;
  return 0;
#endif
}

Determining if the function pthread_create exists in the pthreads failed with the following output:
Change Dir: /home/lihao/桌面/未命名文件夹/build/CMakeFiles/CMakeTmp

Run Build Command:"/usr/bin/make" "cmTC_0d737/fast"
/usr/bin/make -f CMakeFiles/cmTC_0d737.dir/build.make CMakeFiles/cmTC_0d737.dir/build
make[1]: Entering directory '/home/lihao/桌面/未命名文件夹/build/CMakeFiles/CMakeTmp'
Building C object CMakeFiles/cmTC_0d737.dir/CheckFunctionExists.c.o
/usr/bin/cc    -DCHECK_FUNCTION_EXISTS=pthread_create   -o CMakeFiles/cmTC_0d737.dir/CheckFunctionExists.c.o   -c /usr/share/cmake-3.5/Modules/CheckFunctionExists.c
Linking C executable cmTC_0d737
/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_0d737.dir/link.txt --verbose=1
/usr/bin/cc   -DCHECK_FUNCTION_EXISTS=pthread_create    CMakeFiles/cmTC_0d737.dir/CheckFunctionExists.c.o  -o cmTC_0d737 -rdynamic -lpthreads 
/usr/bin/ld: 找不到 -lpthreads
collect2: error: ld returned 1 exit status
CMakeFiles/cmTC_0d737.dir/build.make:97: recipe for target 'cmTC_0d737' failed
make[1]: *** [cmTC_0d737] Error 1
make[1]: Leaving directory '/home/lihao/桌面/未命名文件夹/build/CMakeFiles/CMakeTmp'
Makefile:126: recipe for target 'cmTC_0d737/fast' failed
make: *** [cmTC_0d737/fast] Error 2

查阅很久都没找到解决方法,最后想到在CMakeList.txt 中, 把这句code加到第一行了,换到最后一行,可以成功cmake

list(REMOVE_ITEM PCL_LIBRARIES "vtkproj4")

成功camke .. 之后,make

最后可以成功显示demo的点云

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 在Python中使用PCL(Point Cloud Library)需要进行以下步骤: 1. 安装PCL。可以通过以下命令在Ubuntu系统上安装PCL: ``` sudo apt-get install libpcl-dev ``` 2. 安装python-pcl包。可以通过以下命令安装: ``` pip install python-pcl ``` 如果提示找不到python-pcl包,可以尝试先安装numpy和cython,然后再安装python-pcl: ``` pip install numpy cython pip install python-pcl ``` 3. 测试安装是否成功。可以在Python交互式环境下输入以下代码: ```python import pcl cloud = pcl.PointCloud() print(cloud) ``` 如果输出了类似于 `<pcl._pcl.PointCloud object at 0x7f3c0f2b5c10>` 的信息,则说明安装成功。 注意:PCL是一个C++,因此在安装时要确保已经安装了相应的C++编译器和依赖。 ### 回答2: 要在Python中安装pcl,可以按照以下步骤进行操作。 1. 首先,确保电脑上已经安装了Python。可以通过在命令行界面输入"python --version"来检查Python的版本,如果已经安装,则会显示Python的版本信息。 2. 打开命令行界面,使用pip工具来安装pcl。pip是Python的软件包管理器,用于安装和管理Python软件包。 输入以下命令进行安装: ``` pip install python-pcl ``` 这将会自动从Python Package Index (PyPI)下载并安装pcl。 3. 等待安装完成。安装时间根据网络连接和电脑性能的不同而有所差异。 4. 安装完成后,可以在Python中导入pcl,并开始使用它。可以在Python脚本或交互式环境中使用以下代码导入pcl: ```python import pcl ``` 确认导入没有报错后,表示pcl已经成功安装并可以使用了。 需要注意的是,安装pcl之前,确保已经安装了所有的依赖项,例如numpy和PCL本身。在安装前,可以通过'pip freeze'命令来查看已安装的Python软件包。如果有任何缺失的依赖项,可以通过相应的pip命令安装它们。 此外,根据不同的操作系统,pcl安装可能会稍有不同。上述步骤适用于大多数Windows、Mac和Linux系统,但某些特殊情况可能需要特别的配置或额外的步骤。在这种情况下,可以查阅pcl的官方文档或参考其他资源来获取更详细的安装指南。 ### 回答3: 要在Python中安装pcl,可以按照以下步骤进行操作: 1. 确保你已经安装了Python解释器。你可以从Python官方网站(https://www.python.org/downloads/)下载适合你操作系统的Python版本,并按照安装向导进行安装。 2. 打开命令提示符或终端窗口,并检查pip安装工具是否已安装。在命令提示符或终端中输入以下命令: ``` pip --version ``` 如果显示pip的版本号,则说明pip已经安装,可以跳过下一步。如果未显示版本号,则需要先安装pip。 3. 使用pip命令安装pcl。在命令提示符或终端中输入以下命令: ``` pip install python-pcl ``` 这将会自动下载并安装pcl及其依赖项。等待安装完成即可。 4. 验证pcl是否成功安装。在Python交互式环境中输入以下命令: ``` import pcl ``` 如果没有报错,则说明pcl已经成功安装。你可以继续使用pcl进行相关开发或分析任务。 这些是在Python中安装pcl的基本步骤。根据你的操作系统和Python版本的不同,可能会有一些细微的差异。如果遇到问题,可以参考pcl的官方文档或在相关的开发社区中寻求帮助。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值