环境简介:
win7 64位 vs2010
硬件:
NVIDIA K4000 计算能力3(kinect fusion要求计算能力 2以上)
E3-1230 3.3GHz
准备:
pcl1.7.2源码 github上下载(有gpu文件夹的)
Boost-1.50.0-vs2010-x64.exe
cmake-2.8.12.2-win32-x86.exe
cuda_5.5.20_winvista_win7_win8_general_64.exe
Eigen-3.0.5.exe
flann-1.7.1-vs2010-x64.exe
Microsoft.NET.exe(必须4.0)
OpenNI-Win64-1.5.4-Dev.msi
qhull-6.2.0.1385-vs2010-x64.exe
Qt_4.8.0_msvc2010_win64.exe
Sensor-Win-OpenSource64-5.1.0.msi
VTK-5.8.0-msvc2010-win64_with_qt_support.exe
***注意:如果用pcl官方提供的kinect驱动版本,直接使用openni库调用将出错。所以把驱动换为openni建议的驱动版本 目前为止没有出错。另需要另外安装NITE才能调用openni的底层驱动
openni 建议的驱动版本
OpenNI-Win64-1.5.7-Dev.msi
SensorKinect093-Bin-Win64-v5.1.2.1.msi
NITE-Win64-1.5.2-Dev.msi
另:源码编译时在pcl提供的openni版本下 即OpenNI-Win64-1.5.4-Dev
windows要求.net为4.0
-----------------------------------------------------------------------------------------------以上为准备----------------------------------------------------------------------------------------------------------------
1. 安装支持的库 都安装完了应该这个样子 然后把pcl源码和他们放一起
2. 把所有支持库的bin目录加到系统路径path中
**有些版本的源码boost在编译时会出错,一定参考这篇文章。 《pcl源码编译 : 错误libboost_thread-vc100-mt-gd-1_51.lib(thread.obj)》
3. 安装cmake 打开
4. 勾选grouped advanced。把源代码和build的路径填好
5.单击configure ,选择编译器,在BUILD里面勾选GPU,重新configure
6.没报错的话Generate
7.进入刚才的build目录 双击PCL.sln
进入vs
****前面cmake configure时不能有任何找不到的文件,否则会导致vs中io文件失败。换句话说“无法打开文件“\pcl_io_debug.lib” 这个问题基本上就是前面依赖的库没安装好。打回重弄。
8.选择ALL_BUILD生成
生成过程异常的慢,等等。
期间会出现有些文件已经更改 需要重新生成 先不管最后重新生成就行了
应该全部成功,生成好了 库就算编译好了,运行一下bin里面的例子试试。
应该在debug和release下分别编译一边源码。
enjoy!