记录ros下opencv和qt结合时发生的问题

1.编译时对单独一个功能包进行编译,,发生对cvflann,cv::string等的未定义引用

解决方法:在相应功能包的CMakeLists文件中找到“find OpenCV REQUIRED”,在openCV后加上需要的版本号即可,因为有可能在之前的操作中指定了OPENCV默认使用的版本号

2.编译通过后,出现无效指针 realloc(): invalid pointer的问题:编译输出如下

realloc(): invalid pointer: 0xb6268f54 *** 
======= Backtrace: ========= 
/lib/i386-linux-gnu/libc.so.6(+0x767e2)[0xb5d277e2] 
/lib/i386-linux-gnu/libc.so.6(realloc+0x263)[0xb5d2b3e3] 
/usr/lib/i386-linux-gnu/libQt5Core.so.5(_ZN9QListData7reallocEi+0x37)[0xb4752567] 
/usr/lib/i386-linux-gnu/libQt5Core.so.5(_ZN9QListData6appendEi+0x7c)[0xb475264c] 
/usr/lib/i386-linux-gnu/libQt5Core.so.5(_ZN9QListData6appendEv+0x23)[0xb47526d3] 
/usr/lib/i386-linux-gnu/libQt5Core.so.5(+0x17f82e)[0xb483282e] 
/usr/lib/i386-linux-gnu/libQt5Core.so.5(_Z21qRegisterResourceDataiPKhS0_S0_+0x101)[0xb482f211] 
/usr/lib/i386-linux-gnu/libQt5Core.so.5(+0x2a7439)[0xb495a439] 
/usr/lib/i386-linux-gnu/libQt5Core.so.5(+0x52d74)[0xb4705d74] 
/lib/ld-linux.so.2(+0xf216)[0xb7780216] 
/lib/ld-linux.so.2(+0xf2fc)[0xb77802fc] 
/lib/ld-linux.so.2(+0x11df)[0xb77721df] 
======= Memory map: ======== 
08048000-081cb000 r-xp 00000000 08:0c 260629     /home/lcmliao/qttest/v3-build-desktop/v3 
081cb000-081cc000 r--p 00182000 08:0c 260629     /home/lcmliao/qttest/v3-build-desktop/v3 
081cc000-081cd000 rw-p 00183000 08:0c 260629     /home/lcmliao/qttest/v3-build-desktop/v3 
09809000-0982a000 rw-p 00000000 00:00 0          [heap] 
b200c000-b2013000 rw-p 00000000 00:00 0  
..........

(后面还有一长串,我就不复制了)

解决方法:由于我使用的OPENCV是3.3.1版本,当时为了和ros默认的OPENCV版本号统一,结果出现上述问题,通过查阅网上资料尝试重装OPENCV,由于懒得重新下个版本,所以还是装的3.3.1,结果发现还是不行,经师兄提醒,换了2.4.13的版本,结果神奇的事情发生了,就能成功运行了,难道在结合qt的情况下需要OPENCV版本为2.4?有待考证

3.在launch文件中写了 <rosparam command="load" file="$(find map_server)/config/common_config.yaml"/>,map_server是在同级目录下,但是运行launch文件时,报错在/opt/ros/kinetic/share/map_server下找不到文件

解决方法:删除build 和devel文件夹,重新catkin build整个工程,载进行source,重新运行即可

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
装好ROSOpenCV的Ubuntu镜像可以通过以下步骤完成: 1. 首先,下载并安装Ubuntu操作系统的镜像文件。你可以从Ubuntu官方网站上下载最新版本的Ubuntu镜像。 2. 安装ROS。你可以按照ROS官方网站上的指南进行安装。根据你的需求,选择合适的ROS版本进行安装。 3. 安装OpenCV。你可以通过以下步骤安装OpenCV: - 下载OpenCV的源代码,并解压缩到你选择的目录中。 - 进入解压缩后的OpenCV目录,并创建一个build目录。 - 在build目录中运行cmake命令来配置OpenCV的编译选项。你可以根据需要进行自定义配置。 - 运行make命令来编译OpenCV。 - 运行make install命令来安装OpenCV。 4. 配置ROSOpenCV的环境变量。你可以在你的.bashrc文件中添加ROSOpenCV的环境变量,以便系统能够正确地找到它们。 5. 完成以上步骤后,你就可以使用装好ROSOpenCV的Ubuntu镜像了。 请注意,以上步骤仅提供了一种常见的安装方法,具体的安装步骤可能会因ROSOpenCV的版本而有所不同。建议你参考ROSOpenCV的官方文档以获取更详细的安装指南。 #### 引用[.reference_title] - *1* [[ROS]Ubuntu18.04下安装指定版本OpenCV](https://blog.csdn.net/CynalFly/article/details/126784079)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^koosearch_v1,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* *3* [Ubuntu环境下ROS安装自己OPENCV版本](https://blog.csdn.net/lovely_yoshino/article/details/105920064)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^koosearch_v1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值