Win上编写ROS程序遇到的问题

编程入门 行业动态 更新时间:2024-10-26 00:20:06

Win上编写ROS<a href=https://www.elefans.com/category/jswz/34/1771429.html style=程序遇到的问题"/>

Win上编写ROS程序遇到的问题

通常都是在Ubuntu上编写ROS程序,也能在win上安装ros,利用和Ubuntu一样的方式创建ROS项目,不过在制作绿色版放到别的电脑上运行一直有问题,总是无法实现。

最近有大佬提醒了,ROS安装目录下是有lib文件的,可以自己加入,完全可以在开发后做独立安装包。

今天有空试了一下,确实没问题,不过中间遇到两个小问题,前提 原有项目用catkin_make编译的。

一个是,暂时只能用的是ROS自带的Qt5.10,用我自己安装的其他版本Qt5.15没有成功。后续有时间再试试。

第二个是,出现了一个编译问题,

error LNK2019: 无法解析的外部符号 "bool ros::console::g_initialized" (?g_initialized@console@ros@@3_NA),该符号在函数 "public: virtual class boost::shared_ptr<void const > __cdecl ros::SubscriptionCallbackHelperT<class boost::shared_ptr<struct sensor_msgs::Imu_<class std::allocator<void> > const > const &,void>::deserialize(struct ros::SubscriptionCallbackHelperDeserializeParams const &)" (?deserialize@?$SubscriptionCallbackHelperT@AEBV?$shared_ptr@$$CBU?$Imu_@V?$allocator@X@std@@@sensor_msgs@@@boost@@X@ros@@UEAA?AV?$shared_ptr@$$CBX@boost@@AEBUSubscriptionCallbackHelperDeserializeParams@2@@Z) 中被引用

尝试了添加lib很久也没成功,搜索了一下发现,是ROS调用库的时候默认不是shared,需要在配置上写上,如果用的是Qt的Creator,直接把这句放到pro文件中就可以了。

DEFINES += ROS_BUILD_SHARED_LIBS=1

顺利编译成功,这样在win下本机调试ROS程序也就更容易了。

更多推荐

Win上编写ROS程序遇到的问题

本文发布于:2023-11-16 08:45:03,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1614918.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:程序   Win   ROS

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!