[rospack] Error package image_transport not found

在QT中加载ROS,然后使用image_transport进行图像订阅,结果出现错误提示:

[rospack] Error: package 'image_transport' not found

程序编译没有问题,连接库也没有问题,就是在运行时出现。应该ros环境加载问题。

在QT中调用source /opt/ros/kinetic/setup.bash 也不行。

最后找到解决法案:

参见:QT的学习:在QT中如何调用ROS库

配置qt的启动文件。需要在qt启动时加载ros的环境变量

sudo gedit /usr/share/applications/QtProject-qtcreator-ros-latest.desktop

[Desktop Entry]
Type=Application
Exec=bash -i -c /home/ubuntu/Qt5.10.1/Tools/QtCreator/bin/qtcreator
Name=Qt Creator (Community)
GenericName=The IDE of choice for Qt development.
Icon=QtProject-qtcreator
StartupWMClass=qtcreator
Terminal=false
Categories=Development;IDE;Qt;
MimeType=text/x-c++src;text/x-c++hdr;text/x-xsrc;application/x-designer;application/vnd.qt.qmakeprofile;application/vnd.qt.xml.resource;text/x-qml;text/x-qt.qml;text/x-qt.qbs;

中加上:

bash -i -c

[rospack] Error package image_transport not found_第1张图片

然后终于可以了,折腾了好几天,差点转cmake编译。

trans_port_= new image_transport::ImageTransport(nh);

image_subscriber_ = trans_port_->subscribe(topic.toStdString(), 1, &QNode::imageCallback, this, hints);

[rospack] Error package image_transport not found_第2张图片

你可能感兴趣的:(ROS,QT)