win10编译PCL cuda部分源码并安装:cmake3.10+vs2015+pcl1.8.1+cuda8.0GA2
一、平台软件版本:
win10:1809
cmake3.10.2
https://cmake.org/download/
Older Releases
Host Link
kitware https://cmake.org/files
github https://github.com/Kitware/CMake/releases
vs2015社区版14.0.23XX
Cuda8.0GA2
PCL1.8.1 Allinone msvc2015 64位 +源码+pdb
https://github.com/PointCloudLibrary/pcl/releases
注意:
-
选择版本搭配:在编译过程中发现;PCL官方只提供了PCL1.9.X只提供了pcl-1.9.1-pdb-msvc2017文件,怕只支持vs2017,因此使用了PCL1.8.1。
-
后续也试验过,采用cuda9.0+vs2017+PCL1.9.1出现nvcc之类的错误,好像是cuda与vs2017的兼容问题,导致cuda部分源码编译失败;github中也出现过许多这个问题;
-
奇特的是vs2015能编译cuda9.0+PCL1.9.1;但是由于PCL1.9.X缺少1.9.1-pdb-msvc2015;因此稳妥起见还是编译的PCL1.8.1版本源码
-
PCL1.8.1+Visual Studio 2015+CUDA 9.0 :有时候Cmake还出现cuda nppi library的问题,参见https://blog.csdn.net/zhou_x11/article/details/99560680
二、编译流程
前提:所有软件和安装包安装完毕,
1、使用Cmake生成vs2015工程
参考官方文档:http://www.pointclouds.org/documentation/tutorials/compiling_pcl_windows.php
其他博客:
https://blog.csdn.net/qq_34675171/article/details/86252617
管理员身份打开Cmake3.10.2
Cmake基本配置:
选择源码文件夹、编译后工程输出文件夹;勾选复选框;配置生成器为vs2015 64位
配置第三方库的路径:
configure之后会报错,eigen路径找不到;根据官方说明:需要最基本的几个库需要添加路径;其余可选,根据自己的第三方库(安装allinone时候制定)路径,按照官方库说明添加
EIGEN_INCLUDE_DIR
C:\Program Files\PCL 1.8.1\3rdParty\Eigen\eigen3
配置成功后生成vs2015工程
2、vs2015编译工程
编译前确定之后PCL的安装位置
vs2015打开build文件夹中的PCL工程文件
测试cuda部分能否编译成功
成功后,同时编译 debug and release 版本
生成–》批生成—》勾选all build的两个版本;等待编译:大概一个多小时
编译完成后:编译install工程,会自动找到生成的dll和lib等文件,并复制到cmake时设置的安装路径下,这样pcl就和Allinone install安装时差不多了