PCL库配置出现的问题(WIN10+VS2013)
边看电影边配终于配好了,中间出现了一些问题,在网上很难搜到,可能每个人都碰到的不同。摸索了一会终于都解决了,记录在这里,免得又碰到。
PCL是什么东西就不在此介绍了。
主要是参考这篇博客做得,不过我后来碰到了一些问题,这篇博客并没有碰到,可能是版本原因吧
http://blog.csdn.net/aptx704610875/article/details/49947049
一直没时间更新,大家如果遇到编译问题,可以留言,看是否和我的一致
准备工作:
编译PCL前首先要编译几个PCL依赖的第三方库,主要是下面几个:
Boost有两种编译方式,一种是用Cmake生成工程用VS编译,另一种就是用自己带的脚本,我是用的第二种方式。
首先下载微软的mpi,然后在boost\tools\build\src\tools中找到mpi.jam,修改其中的这三行:
249 line local cluster_pack_path_native = "C:\\Program Files\\Microsoft MPI" ;
251 line if [ GLOB $(cluster_pack_path_native)\\Inc : mpi.h ]
260 line options = <include>$(cluster_pack_path)/Inc
然后打开cmd,进入boost文件夹,运行: bootstrap.bat 运行结束后会生成project-config.jam,打开并在第四行加上:using mpi ;
接下来还是用cmd进入boost文件夹,运行:b2.exe toolset=msvc-12.0 address-model=32 --build-dir=build\x86 install --prefix="X:\X\Boost" -j8
注意如果要开发x64的程序而不是64位系统,请运行:b2.exe toolset=msvc-12.0 address-model=64 --build-dir=build\x64 install --prefix="X:\X\Boost" -j8
(其中没事msvc-12.0代表vs2013,如果是11.0是vs2012,14.0是vs2015 后面的X:\X\Boost是boost的文件夹,b2.exe就在里面)
完成后在环境变量中建立BOOST_ROOT变量,值为boost文件夹地址X:\X\Boost
Eigen是一些模板,其实不需要编译,我按照上面博客里的方式编译有很多错误。
使用cmake,sourse选flann文件夹(如C:\flann),build目录选flann下的build(如C:\eigen\flann)。点击Configure会提示新建build文件夹,选择vs12 2013编译器,然后注意找到CMAKE_INSTALL_PREFIX这个选项,很重要,默认为C:\Program Files (x86)\flann,请修改为你的flann所在文件夹,如上面的C:\flann,不然在之后的install会出错。然后添加一个entry:
Name: CMAKE_DEBUG_POSTFIX
Type: STRING
Value: -gd
修改完后再次点Configure,然后Generate。
然后打开生成的工程用VS2013编译,完成后添加环境变量FLANN_ROOT
使用cmake,sourse选qhull文件夹(如C:\qhull),build目录选qhull下的build(如C:\qhull\build)。点击Configure(不会提示创建build文件夹因为build已经存在),选择vs12 2013编译器,然后注意找到CMAKE_INSTALL_PREFIX这个选项,很重要,默认为C:\Program Files (x86)\qhull,请修改为你的qhull所在文件夹,如上面的C:\qhull,不然在之后的install会出错。然后添加一个entry:
Name: CMAKE_DEBUG_POSTFIX
Type: STRING
Value: -d
修改完后再次点Configure,然后Generate。在qhull\build文件夹中打开qhull.sln工程文件,待加载完文件后,修改libqhull和user_eg2的项目属性,C/C++ -> 高级 -> 编译为 C++ 代码 (/TP),完成后生成all_build(debug和release)即可,然后生成install。完成后可以看到qhull文件夹中出现include和lib文件夹。最后在环境变量中建立QHULL_ROOT变量,值为qhull文件夹地址。
VTK 6.3.0
使用cmake,sourse选VTK文件夹(如C:\VTK),build目录选VTK下的build(如C:\VTK\build)。点击Configure会提示新建build文件夹,选择vs12 2013编译器,然后注意找到CMAKE_INSTALL_PREFIX这个选项,很重要,默认为C:\Program Files (x86)\VTK,请修改为你的VTK所在文件夹,如上面的C:\VTK,不然在之后的install会出错。然后添加一个entry:
Name: CMAKE_DEBUG_POSTFIX
Type: STRING
Value: -gd
修改完后再次点Configure,然后Generate。在VTK\build文件夹中打开VTK.sln工程文件,待加载完文件后,(debug和release)生成all_build(时间有点久,耐心等待),完成后生成install。完成后可以看到VTK文件夹中出现include和lib文件夹。
6、QT(可选)
如果要开发可视化界面的话,建议装个QT,按默认设置来就可以了。
7、GTest
理论上这个应该是可选的,不过在我编译的时候如果选择了build_visualization,就会报错,显示找不到GTest,所以建议也把这个编译了,步骤和上面用CMAKE的一致。
编译PCL:
用CMAKE,选择好源代码路径和目标路径后,点击Configure,选择编译器,会出现如下错误:
显示找不到eigen的include目录,点击Grouped,
修改EIGEN_INCLUDE_DIR到EIGEN的include目录中,如我的是D:\PCL\eigen-327\eigen327\include\eigen3,修改
CMAKE_INSTALL_PREFIX为PCL目录,再次点击Configure,
然后会发现VTK目录没有找到,手动更改VTK_DIR为自己的VTK目录,D:\PCL\VTK630\VTK-6.3.0\lib\cmake\vtk-6.3,
勾选BUILD_visualization,再次Configure,这次就能成功配置了,然后点击Generate生成工程
编译时会出现一些问题,后面再更,先写到这
一直没时间更新,大家如果遇到编译问题,可以留言,看是否和我的一致
PCL库配置出现的问题(WIN10+VS2013)的更多相关文章
- VS2013环境下Boost库配置
序言 最近了解各大互联网公司的校招要求,发现了解Boost程序库也是不可或缺的一部分~ 于是,决定潜心研究下,这个准标准库~ 首先,在官网下载boost的最新版本Boost 1.59.0,这是当前的最 ...
- PCL 库安装
参考资料: http://www.cnblogs.com/newpanderking/articles/4022322.html VS2010+PCL配置 PCL共有两种安装方式 安全安装版,个人配置 ...
- 利用vs pcl库将多个PCD文件合并成一张PCD地图
主机环境:win10系统,pcl库1.11.1, vs2019 pcl库安装以及环境配置如下连接: https://www.jb51.net/article/190710.htm 代码很简单,主要是做 ...
- Convert PLY to VTK Using PCL 1.6.0 使用PCL库将PLY格式转为VTK格式
PLY格式是比较流行的保存点云Point Cloud的格式,可以用MeshLab等软件打开,而VTK是医学图像处理中比较常用的格式,可以使用VTK库和ITK库进行更加复杂的运算处理.我们可以使用Par ...
- maven私有库配置
私有库的配置 协同开发过程中私有库可以为团队提升很大效率,之前我的私有库一直存在问题导致jar包导入异常.现在在这分享一下私有库配置的几个点,可能因为我们学校比较简陋所以配置的比较简单,欢迎大家补充 ...
- Windows2003/2008/2008 R2下易语言点支持库配置就退出的问题
问题: 请问一个问题,我的电脑上win2003系统的,安装了易语言后,一点支持库配置就会自动退出.这是为什么啊? 解决方法如下: 删除 lib下的wmp.npk,重新打开易语言就可以了.
- maven的安装,maven库配置和Eclipse插件的安装
maven的安装,maven库配置和Eclipse插件的安装 1.下载并解压maven 2.配置环境变量 3.配置maven配置文件 1.下载链接 Downloading Apache Maven 2 ...
- Window7下手动编译最新版的PCL库
PCL简介 PCL是Point Cloud Library的缩写,是一个用于处理二维图像,三维深度图像和三维点云的C++库.该库是完全开源的,可免费用于商业和学术研究. 官方网站:http://poi ...
- CentOS 6.4 系统下的MySQL的主从库配置
首先了解到一. 二一.(MySQL下创建用户并且赋予权限)root用户创建yong用户的SQL语句 CREATE USER 'yong'@'localhost' IDENTIFIED BY 'yong ...
随机推荐
- Android——SQLite实现面向对象CRUD
android中SQLite的使用,事实上倒也不难.可是与JDBC操作数据库相比,这个还是有点不顺手,并且我好久没写底层的封装了,使用SSM框架这些都不须要考虑......好了,废话不多说.以下直接建 ...
- ListView加载两种以上不同的布局
不同的项目布局(item layout) Listview一种单一的item 布局有时候不能完全满足业务需求,我们需要加载两种或两种以上不同的布局,实现方法很简单: 重写 getViewTypeCou ...
- 自定义tableviewCell的分割线
第一种:addsubview UIView *line = [[UIView alloc]initWithFrame:CGRectMake(10, cellH-0.5, DEVW-10, 0.5)]; ...
- 创建对象时引用的关键字,assign,copy,retain
创建对象时引用的关键字:assign: 简单赋值,不更改索引计数(强引用)copy: 建立一个索引计数为1的对象,然后释放旧对象retain:释放旧的对象,将旧对象的值赋予输入对象,再提高输入对象的索 ...
- iOS延时执行的四种方法
@import url(http://i.cnblogs.com/Load.ashx?type=style&file=SyntaxHighlighter.css);@import url(/c ...
- MVC 中使用uploadify上传图片遇到的蛋疼问题
MVC 中使用uploadify上传图片遇到的蛋疼问题 初次使用uploadify上传图片,遇到了一些比较纠结的问题,在这里和大家分享下,有不对的地方还望大神多多指教,希望对刚接触的朋友有所帮助,文采 ...
- USB信号是什么类型的? 为什么在D+,D-处要接上拉下拉电阻呢,具体阻值要如何计算
USB协议要求的,1.5K上拉在D+时表示是全速设备,在D-表示不是全速设备有些方案里面(比如PNX5230)推荐D+/D-接下拉1M的电阻是为了提高数据传输稳定性的 ① usb有主从设备之分,主设 ...
- Android EditText setOnClickListener事件 只有获取焦点才能响应 采用setOnTouchListener解决
最近在学习Android开发,在编写程序的过程中,发现EditText setOnClickListener事件响应中,只有获取焦点的时候才会响应, 如当焦点在别的控件上时,只能先点击获取焦点,第二次 ...
- synchronized常见用法解析及示例
synchronized作用:保证代码执行的原子性:保证可见性(与volatile作用相同) JAVA中synchronized关键字能够作为函数的修饰符,也可作为函数内的语句,也就是平时说的同步方法 ...
- 【转】Linux里如何查找文件内容
原文网址:http://blog.chinaunix.net/uid-25266990-id-199887.html Linux查找文件内容的常用命令方法. 从文件内容查找匹配指定字符串的行: $ g ...