请选择 进入手机版 | 继续访问电脑版
设为首页收藏本站

 找回密码
 立即注册

QQ登录

只需一步,快速开始

编译 PCL 项目和分离 Kinfu Large Scale

热度 6已有 8480 次阅读2014-4-25 17:30 |个人分类:项目总结|系统分类:组会周报| Windows, GeForce, 项目

上周由于回校中期答辩的原因 ,没有参加组会,这里将这几周的工作以及前面的部分工作做一个大体的总结。
首先说明一下为什么要分离这整个项目。我们分离出项目之后可以快速的调试 KinfuLS 的代码,熟悉整个项目的流程其次,为我们后面修改算法或其他部分做准备。
分离前注意事项
软硬件环境: VS2010 with SP1, Windows 7 x64 with SP1,GeForce 610M  1024Mb, sm_21, 48 cores, Driver/Runtime ver.6.0/5.50
项目太大的时候,尤其是开源项目,依赖库多,所以在环境搭建这部分还是要细心一点,否则会浪费很多不必要的时间
  • 安装环境步骤略,最好的做法是将所有的依赖库环境全部安装在C盘下,那么后面的cmake过程和编译过程可以节省很多时间;编译PCL项目(直接编译release版本),这部分网络上教程很多,然后单独编译PCL内工程 INSTALL,安装PCL环境;
  • 将PCL\bin 加入 系统PATH中,备份好所有关于 kinfu 的 dll,lib,exe文件,然后将它们从bin中删除,要不然后面分离的 KinfuLS 还是会链接到我们这里编译的库文件(因为KinfuLS所有的核心算法都在PCL项目pgl_gpu_kinfu_large_scale,后期主要是对这部分进行改动,所以这部分也需要分离出来编译);
  • 我们需要分离四个工程,pcl_gpu_kinfu_large_scale(KinfuLS的依赖库文件,包含所有的核心算法),pcl_kinfu_largeScale(前端交互部分,这部分主要是负责从Kinect采集数据,调用核心算法,以及一个简易的客户端交互),pcl_kinfu_largeScale_texture_output(生成贴图),pcl_kinfu_largeScale_mesh_output(生成面片)。

  • 下面的工作主要是分离工作和一些细节
    这里主要是编译第一个工程,KinfuLS的依赖库pcl_gpu_kinfu_large_scale
    1. 新建一个空的Win32 Console工程,注意后面选择动态链接库,将工程设置改为 x64/Release,(我的系统是x64,不使用Debug的原因是,太慢);
    2. 然后添加项目需要的依赖环境(include,lib的路径,依赖的库)。我们在前面编译安装PCL项目时,安装了PCL的动态链接库和头文件,kinfu项目的头文件也安装在以下路径 C:\Program Files\PCL\include\pcl-1.7\pcl\gpu\kinfu_large_scale 中,原来PCL中的各种头件和动态链接库我们都安装到系统中了,要注意后面不要添加我们编译的PCL项目中的库文件;
    3. 在 VS的属性管理器中新建一个属性文件(建议大家用这种方法,可以保存整个开发环境),然后按照PCL中pcl_gpu_kinfu_large_scale 项目的环境来配置,(注意文件的路径!注意打开各种编译加速项!);
    4. 另外要注意在预处理器定义中额外添加一项 PCL_EXPORTS,否则生成的只有dll文件,没有lib文件。[1]
    5. 还有一个有意思的问题是在编译CUDA是,系统默认选择的架构是sm_10, compute_10[2]而这个架构是不支持原子操作的。所以我们需要修改CUDA的配置文件,我这里是改为sm_20,compute_20(这里忘记文件名和路径了,后面补上,不过查找一下,位置很明显)。C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\BuildCustomizations
    6. 下面是这个项目树的截图:

      最后再在解决方案下分别新建三个上面提到的工程,依次配置环境,分别编译。
      下面一篇说一下Kinfu Large Scale这个项目的整个流程。
      参考资料:

      路过

      鸡蛋
      1

      鲜花

      握手

      雷人

      刚表态过的朋友 (1 人)

      发表评论 评论 (6 个评论)

      回复 萌小辛 2014-5-7 12:14
      您好,看您的周报感觉您是在中科院实习,想问一下所里招收京外的实习生吗?
      回复 x5lcfd 2014-5-10 01:57
      萌小辛: 您好,看您的周报感觉您是在中科院实习,想问一下所里招收京外的实习生吗?
      这个我不是很清楚,你可以发邮件问一下。
      回复 halmm 2014-5-19 16:19
      你好 博主 我想分离pcl中的SIFT keypoint这个模块,按照你的方法,生成都是失败的,不知道问题出在哪儿,博主有空的时候可不可以详细指导一下啊,求加q 932121815
      回复 拂晓 2014-5-23 17:02
      博主,您的下一篇什么时候出啊  Kinfu Large Scale这个项目的整个流程,想看这个
      回复 cm4220 2014-12-12 16:30
      您好,您说的所有关于 kinfu 的 dll,lib,exe文件包括哪些呢?
      回复 mail2kun 2015-1-4 06:36
      不错不错不错不错

      facelist doodle 涂鸦板

      您需要登录后才可以评论 登录 | 立即注册

      Archiver|手机版|视觉计算研究论坛 ( 京ICP备09019267号 )  

      GMT+8, 2017-11-22 07:04 , Processed in 0.234821 second(s), 31 queries , Gzip On.

      Powered by SIGVC.org

      © 2012- , Beijing, China

      回顶部