点云技术相关产学研社区

 找回密码
 立即注册加入PCL中国点云技术相关产学研社区

扫一扫,访问微社区

查看: 11163|回复: 19

在MFC中使用PCL--我的操作过程

[复制链接]
发表于 2013-6-1 22:10:26 | 显示全部楼层 |阅读模式
       花了一周多时间,我在WIN7 64上使用VS2010成功编译了VTK,在加入到MFC工程,完成绝大部分工作后,出现了一个究极错误:1>Debug\PCLDialog.obj : fatal error LNK1112: 模块计算机类型“X86”与目标计算机类型“x64”冲突,在按照提示修改后出现错误:模块计算机类型“x64”与目标计算机类型“X86”冲突,我最终得出的结论是,按照这种方法搞是死路一条。
      最终痛下决心,把计算机割掉,重装了WIN7 32的系统(这是最重要的发现,当然只对64位系统用户有帮助),按照步骤,一步一步来,下载PCL1.6 ALLINONE包并安装,接下来编译VTK5.10库,http://blog.csdn.net/shenlan282/article/details/8262232,这是VTK编译教程,注意在添加..\..\..\..\bin\Debug\vtkIO.lib时,前面...\的个数,要与添加框中已经添加的lib文件的个数相同,完成VTK编译后需要Install一下,即单独调试INSTALL这个工程,VTK的文件夹就会出现在C盘的默认位置(我的是C:\Program Files\VTK),这个文件夹里包含了VTK的精华,接着按照田博士的步骤做,如果你不知道田博士是谁,那就在论坛里搜索mfc的帖子,其中需要注意的是:C++--》常规--》 附加包含目录中加入C:\Program Files\VTK5.10\include\vtk-5.10;
C:\Program Files\PCL 1.6.0\3rdParty\Boost\include;
C:\Program Files\PCL 1.6.0\include\pcl-1.6;
C:\Program Files\PCL 1.6.0\3rdParty\Eigen\include;
C:\Program Files\PCL 1.6.0\3rdParty\Flann\include;
D:\Program\VS2010\Project\PCLDialog\PCLDialog;
在添加依赖库时,使用田博士提供的文档中的内容,但是需要删除:pcl_range_image_border_extractor_debug.libCosmo.lib
VPIC.lib
vtkParallel.lib,最好是按照报错提示进行删除,我的是提示找不到这四个文件,进行到此处,编译任然会报错,提示找不到lib文件,提示不断,我在电脑中搜索提示搜索不到的文件,发现这些文件都在C:\Program Files\VTK\bin中,索性就把这个文件夹中的内容全部拷贝到C:\Windows\System32中,成功生成;

     接着就是为MFC工程添加PCL组件,注意将田博士文中提到的将在PCLDialog.h中添加头文件改为:在PCLDialogDlg.h中添加头文件,然后在其中新建私有变量,再在PCLDialogDlg.cpp中初始化,编译,出现459.dll无法定位的错误,上网查阅了一下,是系统安装更新造成的,vs2010无法新建项目,也不能为空间添加变量,重新安装IE9就一切正常(吐血ing),添加控件后会报出找不到控件IDC_PCDVIWER的错误,那是因为写错了,改为IDC_PCDVIEWER,另外需要提到的是中间发生了一个诡异的错误http://www.pclcn.org/bbs/forum.p ... &extra=page%3D1

    这是我在MFC中使用PCL的经历,希望对想在MFC中使用PCL的人有帮助,这中间我总共花了两个星期左右,有时候也想放弃,特别是洗一次使用64位系统基本完成了所有的工作,只差最后两步,还是失败了,中间装了两次系统,第一次是为了安装VS2010(原来安装的是VS2005),所以在进行此项工作之前,先把环境搭建好,说多了都是泪,另外,我现在想在PCL 1.6下使用hdl_grabber,而hdl_grabber是PCL 1.7中的,不知道哪位大神知道如何在PCL 1.6中添加hdl_grabber(听说PCL 1.7编译成功的人不多)。http://www.pclcn.org/bbs/forum.p ... &extra=page%3D1




   



回复

使用道具 举报

发表于 2013-12-10 15:26:36 | 显示全部楼层
你好  我的项目必须在VS2005上进行开发   ,PCL必须要使用vs2008以上的版本才可以吗? 好纠结啊!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-12-19 23:31:50 | 显示全部楼层
skyhuangdan 发表于 2013-12-10 15:26
你好  我的项目必须在VS2005上进行开发   ,PCL必须要使用vs2008以上的版本才可以吗? 好纠结啊! ...

是的,我也是用VS2005的,但现在在2010下开发
回复 支持 反对

使用道具 举报

发表于 2014-2-12 18:56:50 | 显示全部楼层
你的这个是win7 64位配置成功了吗
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-2-17 16:02:03 | 显示全部楼层
鸠羽千夜 发表于 2014-2-12 18:56
你的这个是win7 64位配置成功了吗

不是,是在32位上用的,64位上没法搞。
回复 支持 反对

使用道具 举报

发表于 2014-2-17 17:35:28 | 显示全部楼层
按照田博士的 已经将代码所以的添加好了 但是出现这个问题

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册加入PCL中国点云技术相关产学研社区

x
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-2-18 11:19:51 | 显示全部楼层
鸠羽千夜 发表于 2014-2-17 17:35
按照田博士的 已经将代码所以的添加好了 但是出现这个问题

我没有遇到过这个问题,但看着像是函数只是申明了,但没有定义,你查查看有没有少添加cpp文件
回复 支持 反对

使用道具 举报

发表于 2014-2-20 10:52:39 | 显示全部楼层
我的64位配置成功了呢
回复 支持 反对

使用道具 举报

发表于 2014-3-6 20:39:00 | 显示全部楼层
鸠羽千夜 发表于 2014-2-17 17:35
按照田博士的 已经将代码所以的添加好了 但是出现这个问题

输入的点云数据类型不对,可能也会出现这个问题
回复 支持 反对

使用道具 举报

发表于 2014-3-12 21:37:41 | 显示全部楼层
:lol vs2010 64位win7也成功了呢
回复 支持 反对

使用道具 举报

本版积分规则

QQ|小黑屋|点云技术相关产学研社区 ( 陕ICP备13001629号 )

GMT+8, 2024-5-6 01:18 , Processed in 8.798012 second(s), 17 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表