点云技术相关产学研社区

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

扫一扫,访问微社区

查看: 7063|回复: 5

error C2039: 'toROSMsg' : is not a member of 'pcl'

[复制链接]
发表于 2013-10-20 22:05:27 | 显示全部楼层 |阅读模式
编译了一段代码,出现了下面的报错:
3>..\source\Visualization.cpp(100): error C2039: 'toROSMsg' : is not a member of 'pcl'
3>..\source\Visualization.cpp(100): error C3861: 'toROSMsg': identifier not found

然后我添加了#include <pcl/ros/conversions.h>之后,错误变成了:
3>C:\Program Files\PCL\include\pcl-1.7\pcl/ros/conversions.h(68): warning C4091: '' : ignored on left of 'int' when no variable is declared
3>C:\Program Files\PCL\include\pcl-1.7\pcl/ros/conversions.h(68): error C2143: syntax error : missing ';' before ''template<''
3>C:\Program Files\PCL\include\pcl-1.7\pcl/ros/conversions.h(83): warning C4091: '' : ignored on left of 'int' when no variable is declared
3>C:\Program Files\PCL\include\pcl-1.7\pcl/ros/conversions.h(83): error C2143: syntax error : missing ';' before ''template<''
3>C:\Program Files\PCL\include\pcl-1.7\pcl/ros/conversions.h(96): warning C4091: '' : ignored on left of 'int' when no variable is declared
3>C:\Program Files\PCL\include\pcl-1.7\pcl/ros/conversions.h(96): error C2143: syntax error : missing ';' before ''template<''
3>C:\Program Files\PCL\include\pcl-1.7\pcl/ros/conversions.h(111): warning C4091: '' : ignored on left of 'int' when no variable is declared
3>C:\Program Files\PCL\include\pcl-1.7\pcl/ros/conversions.h(111): error C2143: syntax error : missing ';' before ''template<''

错误指向了conversions.h中:
PCL_DEPRECATED (template<typename CloudT> void toROSMsg (
        const CloudT& cloud, pcl::PCLImage& msg),
      "pcl::fromROSMsg is deprecated, please use fromPCLPointCloud2 instead.");
  template<typename CloudT> void
  toROSMsg (const CloudT& cloud, pcl::PCLImage& msg)
  {
    toPCLPointCloud2 (cloud, msg);
  }


各位有没有遇到这种问题,求解答,谢谢!

回复

使用道具 举报

发表于 2013-10-25 09:48:44 | 显示全部楼层
本帖最后由 papillondog 于 2013-10-25 09:50 编辑

vs2010以上编译器都会发生此问题,把template<typename CloudT>放到最前,1.7.1也会发生此问题。
template<typename CloudT>
PCL_DEPRECATED ( void toROSMsg (
        const CloudT& cloud, pcl::PCLImage& msg),
      "pcl::fromROSMsg is deprecated, please use fromPCLPointCloud2 instead.");
  template<typename CloudT> void
  toROSMsg (const CloudT& cloud, pcl::PCLImage& msg)
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-10-25 19:58:18 | 显示全部楼层
papillondog 发表于 2013-10-25 09:48
vs2010以上编译器都会发生此问题,把template放到最前,1.7.1也会发生此问题。
template
PCL_DEPRECATED (  ...

我已经把问题解决了,不是编译器版本的问题,而是一个bug,你可以去pcl user list 找我的问题,下面Rudu有回复,可以解决问题,或者去github找修复,谢谢!
回复 支持 反对

使用道具 举报

发表于 2014-12-9 18:39:51 | 显示全部楼层
just_rookie 发表于 2013-10-25 19:58
我已经把问题解决了,不是编译器版本的问题,而是一个bug,你可以去pcl user list 找我的问题,下面Rudu ...

你好,请问你那个问题怎么解决的?我在你说的那个pcl user list上找不到你的问题!
回复 支持 反对

使用道具 举报

发表于 2014-12-23 18:40:15 | 显示全部楼层
加上:
#include <pcl/ros/conversions.h>
回复 支持 反对

使用道具 举报

发表于 2015-11-27 16:29:11 | 显示全部楼层
已解决,谢谢
回复 支持 反对

使用道具 举报

本版积分规则

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

GMT+8, 2024-6-7 15:45 , Processed in 3.263521 second(s), 17 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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