chengyangkj / Ros_Qt5_Gui_App

ROS human computer interface based on Qt5(基于Qt5的ROS人机交互界面)
GNU General Public License v2.0
898 stars 304 forks source link

编译错误 #20

Closed mailonghua closed 3 years ago

mailonghua commented 3 years ago

bug描述 catkkin_make报错

[ 95%] Linking CXX executable /home/mailonghua/ros_ws/devel/lib/cyrobot_monitor/cyrobot_monitor CMakeFiles/cyrobot_monitor.dir/src/qnode.cpp.o: In function cv::Mat::Mat(int, int, int, void*, unsigned long)': qnode.cpp:(.text._ZN2cv3MatC2EiiiPvm[_ZN2cv3MatC5EiiiPvm]+0x150): undefined reference tocv::error(int, std::cxx11::basic_string<char, std::char_traits, std::allocator > const&, char const, char const, int)' qnode.cpp:(.text._ZN2cv3MatC2EiiiPvm[_ZN2cv3MatC5EiiiPvm]+0x244): undefined reference to `cv::error(int, std::cxx11::basic_string<char, std::char_traits, std::allocator > const&, char const, char const, int)' qnode.cpp:(.text._ZN2cv3MatC2EiiiPvm[_ZN2cv3MatC5EiiiPvm]+0x2cc): undefined reference to `cv::Mat::updateContinuityFlag()' collect2: error: ld returned 1 exit status third_packages/Ros_Qt5_Gui_App/CMakeFiles/cyrobot_monitor.dir/build.make:852: recipe for target '/home/mailonghua/ros_ws/devel/lib/cyrobot_monitor/cyrobot_monitor' failed make[2]: [/home/mailonghua/ros_ws/devel/lib/cyrobot_monitor/cyrobot_monitor] Error 1 CMakeFiles/Makefile2:5892: recipe for target 'third_packages/Ros_Qt5_Gui_App/CMakeFiles/cyrobot_monitor.dir/all' failed make[1]: [third_packages/Ros_Qt5_Gui_App/CMakeFiles/cyrobot_monitor.dir/all] Error 2 Makefile:140: recipe for target 'all' failed make: *** [all] Error 2 Invoking "make -j4 -l4" failed

操作步骤

catkin_make

分支名及平台:

mailonghua commented 3 years ago

谷歌了很多次,看到的版本基本都尝试了

chengyangkj commented 3 years ago

opencv环境问题,我用jetson nano不更改opencv环境,使用ros 默认环境是可以编译通过了

发自我的iPhone

------------------ 原始邮件 ------------------ 发件人: Longhua @.> 发送时间: 2021年8月19日 22:29 收件人: chengyangkj/Ros_Qt5_Gui_App @.> 抄送: Subscribed @.***> 主题: 回复:[chengyangkj/Ros_Qt5_Gui_App] 编译错误 (#20)

bug描述 catkkin_make报错

[ 95%] Linking CXX executable /home/mailonghua/ros_ws/devel/lib/cyrobot_monitor/cyrobot_monitor CMakeFiles/cyrobot_monitor.dir/src/qnode.cpp.o: In function cv::Mat::Mat(int, int, int, void, unsigned long)': qnode.cpp:(.text._ZN2cv3MatC2EiiiPvm[_ZN2cv3MatC5EiiiPvm]+0x150): undefined reference to cv::error(int, std::__cxx11::basic_string<char, std::char_traits, std::allocator > const&, char const, char const, int)' qnode.cpp:(.text._ZN2cv3MatC2EiiiPvm[_ZN2cv3MatC5EiiiPvm]+0x244): undefined reference to cv::error(int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, char const, char const*, int)' qnode.cpp:(.text._ZN2cv3MatC2EiiiPvm[_ZN2cv3MatC5EiiiPvm]+0x2cc): undefined reference to cv::Mat::updateContinuityFlag()' collect2: error: ld returned 1 exit status third_packages/Ros_Qt5_Gui_App/CMakeFiles/cyrobot_monitor.dir/build.make:852: recipe for target '/home/mailonghua/ros_ws/devel/lib/cyrobot_monitor/cyrobot_monitor' failed make[2]: [/home/mailonghua/ros_ws/devel/lib/cyrobot_monitor/cyrobot_monitor] Error 1 CMakeFiles/Makefile2:5892: recipe for target 'third_packages/Ros_Qt5_Gui_App/CMakeFiles/cyrobot_monitor.dir/all' failed make[1]: [third_packages/Ros_Qt5_Gui_App/CMakeFiles/cyrobot_monitor.dir/all] Error 2 Makefile:140: recipe for target 'all' failed make: *** [all] Error 2 Invoking "make -j4 -l4" failed

操作步骤

catkin_make

分支名及平台:

平台:运行平台jetson nano -jetpack 4.6

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub, or unsubscribe.

mailonghua commented 3 years ago

opencv环境问题,我用jetson nano不更改opencv环境,使用ros 默认环境是可以编译通过了 发自我的iPhone

能否指点一下你当前的opencv版本,jetson nano我使用的是最新的jetpack 4.6版本,自带的是opencv4

mailonghua commented 3 years ago

是否是要安装opencv3才可以兼容呢?

joker-wutong commented 3 years ago

我用的也是jetson ,自带OpenCV4,编译也是出现了和你一样的错误,也是还没有解决

mailonghua commented 3 years ago

我用的也是jetson ,自带OpenCV4,编译也是出现了和你一样的错误,也是还没有解决

希望作者有空关注一下这个问题吧~英伟达平台在机器人领域应用还是比较多的

chengyangkj commented 3 years ago

我手中的jetson nano是跑起来了的,这和程序无关,opencv编译问题报什么错就百度搜索解决即可,我记得当时把opencv4那个问题的cv_bridge链接的位置改一下就好了

https://blog.csdn.net/qq_43310597/article/details/109256838?utm_source=app&amp;app_version=4.14.1

发自我的iPhone

------------------ 原始邮件 ------------------ 发件人: Longhua @.> 发送时间: 2021年8月25日 09:36 收件人: chengyangkj/Ros_Qt5_Gui_App @.> 抄送: ChengYang @.>, Comment @.> 主题: 回复:[chengyangkj/Ros_Qt5_Gui_App] 编译错误 (#20)

我用的也是jetson ,自带OpenCV4,编译也是出现了和你一样的错误,也是还没有解决

希望作者有空关注一下这个问题吧~英伟达平台在机器人领域应用还是比较多的

— You are receiving this because you commented. Reply to this email directly, view it on GitHub, or unsubscribe.

mailonghua commented 3 years ago

我手中的jetson nano是跑起来了的,这和程序无关,opencv编译问题报什么错就百度搜索解决即可,我记得当时把opencv4那个问题的cv_bridge链接的位置改一下就好了 https://blog.csdn.net/qq_43310597/article/details/109256838?utm_source=app&amp;app_version=4.14.1 发自我的iPhone ------------------ 原始邮件 ------------------ 发件人: Longhua @.> 发送时间: 2021年8月25日 09:36 收件人: chengyangkj/Ros_Qt5_Gui_App @.> 抄送: ChengYang @.>, Comment @.> 主题: 回复:[chengyangkj/Ros_Qt5_Gui_App] 编译错误 (#20) 我用的也是jetson ,自带OpenCV4,编译也是出现了和你一样的错误,也是还没有解决 希望作者有空关注一下这个问题吧~英伟达平台在机器人领域应用还是比较多的 — You are receiving this because you commented. Reply to this email directly, view it on GitHub, or unsubscribe.

这个方法是解决另一个问题,和当前的问题不同,关于这点我们在QQ群中沟通过 作者是否方便重新尝试一下当前的JETPACK4.6,我试了jetpack4.6和jetpack4.5都是同样的问题 感觉这个问题跟程序和环境兼容有关系

mailonghua commented 3 years ago

貌似需要将当前的版本降级为Opencv 3.x

https://stackoverflow.com/questions/56829933/undefined-reference-to-cverrorint-stdstring-const-char-const-char-con

mailonghua commented 3 years ago

问题我已经解决了,遇到同样错误的同学,请看如下连接,主要是cv_bridge默认的opencv选项要全部替换为当前的opencv4,参考如下: https://blog.csdn.net/weixin_43436587/article/details/107711866

mailonghua commented 3 years ago

问题已经解决,请看最后的连接 https://blog.csdn.net/weixin_43436587/article/details/107711866