VS2019PCL安装教程

本文主要介绍PCL点云库的预编译安装方法,主要包括以下的几个方面.

0. 安装环境介绍

1. 文件下载

2. 环境配置

3. 测试

4. 更多

0.安装环境介绍

  • windows10
  • visual studio2019

1.文件下载

主要要用到3类工具,VS2019,PCL点云库,以及Cmake.

  • 文件下载地址:PCL点云库
    下载PCL-1.11.1-AllInOne-msvc2019-win64.exe以及pcl-1.11.1-pdb-msvc2019-win64.zip即可.
  • cmake

    注意cmake下载的是“Binary distributions”下的.msi文件

随后一切默认安装即可(记得勾选添加到环境变量中的选项)
将pcl-1.11.1-pdb-msvc2019-win64.zip解压后文件夹中的所有文件,移动到PCL安装目录中的bin目录下.

2.环境配置

系统的环境变量中应该包含以下的几个条目:

  • Path条目同级的位置新建以下条目.
变量
OPENNI2_INCLUDE64 C:\Program Files\OpenNI2\Include|
OPENNI2_LIB64 C:\Program Files\OpenNI2\Lib|
OPENNI2_REDIST64 C:\Program Files\OpenNI2\Redist|
PCL_ROOT C:\Program Files\PCL_1_11_1
  • Path条目中新加以下的子条目
%PCL_ROOT%\bin %PCL_ROOT%\3rdParty\VTK\bin
%PCL_ROOT%\3rdParty\FLANN\bin %OPENNI2_REDIST64%
%PCL_ROOT%\3rdParty\Qhull\bin C:\Program Files\OpenNI2\Tools

如果你不是选择的默认安装位置,你应该适当的修改上面的路径值.

3.测试

按照以下的文件结构新建文件(任意位置):

  • pcd_write
    • source
      • main.cpp
      • CMakeLists.txt
    • cmake-bin

将文末更多中的内容填入main.cpp和CmakeLists.txt中.

启动Cmkae(管理员模式),where is the source code选择我们的source目录,“where to build the binaries”选择我们的“cmake-bin”目录.

依次点击cmake的Configuregenerate以及open Project.

这一步成功的标志是:控制台出现”configure done”和”generate done”即可.

这时,系统应该会打开VS2019,等待一切加载完毕后.将解决方案管理器中的“pcd_write”设置成启动项目.

最后Ctrl + F5运行即可.

4.更多

main.cpp内容

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
#include <iostream>
#include <pcl/io/pcd_io.h>
#include <pcl/point_types.h>

int
main (int argc, char** argv)
{
pcl::PointCloud<pcl::PointXYZ> cloud;

// Fill in the cloud data
cloud.width = 5;
cloud.height = 1;
cloud.is_dense = false;
cloud.resize (cloud.width * cloud.height);

for (auto& point: cloud)
{
point.x = 1024 * rand () / (RAND_MAX + 1.0f);
point.y = 1024 * rand () / (RAND_MAX + 1.0f);
point.z = 1024 * rand () / (RAND_MAX + 1.0f);
}

pcl::io::savePCDFileASCII ("test_pcd.pcd", cloud);
std::cerr << "Saved " << cloud.size () << " data points to test_pcd.pcd." << std::endl;

for (const auto& point: cloud)
std::cerr << " " << point.x << " " << point.y << " " << point.z << std::endl;

return (0);
}

CmakeLists.txt内容

1
2
3
4
5
6
7
8
cmake_minimum_required(VERSION 2.6 FATAL_ERROR)//cmake最低版本为2.6
project(pcd_write)
find_package(PCL 1.11)//你应该确保你的PCL版本为1.11
include_directories(${PCL_INCLUDE_DIRS})
link_directories(${PCL_LIBRARY_DIRS})
add_definitions(${PCL_DEFINITIONS})
add_executable(pcd_write main.cpp)
target_link_libraries(pcd_write ${PCL_LIBRARIES})