前言
由于博主经常用CMake生成VS工程,近期在用CMake生成包含PCL库的VS工程时遇到了许多奇怪的错误。故记录下来,一是用于日后警醒自己,二是分享给有需要的朋友们。
对于习惯用VS生成工程的读者,如果对在VS2013上配置PCL1.8.0感兴趣的话,可以参看博主的另一篇博文: PCL-1.8.0-AllInOne VS2013 Win8 X64 安装配置及部分问题解决方法。本篇文章主要关注于用CMake来生成工程。
环境
Win8 x64
Visual Studio 2013
CMake-3.7.2-win32
一.准备工作
首先需要下载PCL-1.8.0-AllInOne安装包文件和相应的pdb文件。
- PCL库安装一般有两种方式:一种是先下载PCL的各种第三方依赖库以及PCL的源代码,然后自行进行编译安装;另一种是领用AllInOne版本进行安装。本博文关注的是后一种安装方式。
- 目前PCL官网提供的Windows AllInOne下载版本只有1.5.1和1.6.0,PCL工程页可以查找到PCL-1.8.1的源码和AllInOne安装包以及PCL-1.8.0的源码,但PCL-1.8.0的AllInOne以及其pcd文件链接失效或被墙了(读者后续可以持续关注,如果PCL工程页链接重新生效推荐下载那里的安装包)。
本博文使用的安装包是从一个参考博客给出的百度网盘中下载的,亲测有效。下载其中的PCL-1.8.0-win64的安装包以及相应的pdb文件,属性表可以不下载,建议自己建立(因为博主用链接里提供的属性表测试时没有成功,后面有介绍自己的属性表的建立方式)。
下载链接:http://pan.baidu.com/s/1c1sqoQO
此外,该百度云链接提供了PCL-1.8.0-win32的安装包以及相应的pdb文件。由于博主使用的是x64的,win32版本没有测试过,但原理应该是相通的。
二.安装
1.PCL库安装
双击安装包,安装的时候注意选上“Add PCL to the system PATH for all users”,这样安装程序会自动在系统环境变量中添加“PCL_ROOT”、“OPENNI2_INCLUDE64”、“OPENNI2_LIB64”、“OPENNI2_REDIST64”四个项。
(注意:若安装结束后提示“路径过长无法添加环境变量”,这并不影响;如果安装结束后没有自动在系统环境变量中增加以上四项,则手动加上即可。)
图示皆以我的安装路径为例。
2.OpenNI安装
安装过程中会弹出OpenNI的安装程序,将OpenNI的安装路径设置为“PCL_ROOT”下3rdParty\OpenNI2文件夹,例:
C:\Program Files\PCL 1.8.0\3rdParty\OpenNI2
(这里可以选择安装在其他目录,不过会影响到项目配置)