当我试图使用c++中的系统函数从qtquick应用程序运行ROS命令时,我遇到了一个错误。
system("roscore")
它确实起作用了。但是当我在qt应用程序中运行相同的功能时,我得到了以下错误
sh: 1: roscore: not found
所以谁能告诉我该怎么做?编辑:链接到github上的代码
rjzwgtxy1#
我认为添加QML_IMPORT_PATH = /opt/ros/kinetic/bin还不够。您需要首先获取setup.bash的源代码,因为qt控制台不使用.bashrc环境。最简单的方法是在调用任何基于rose的命令之前,在代码的开始处使用setup.bash编辑1:您可以调用可执行文件的绝对路径,例如roscore将为/opt/ros/kinetic/bin/roscore
QML_IMPORT_PATH = /opt/ros/kinetic/bin
.bashrc
roscore
/opt/ros/kinetic/bin/roscore
5gfr0r5j2#
我去过那里,我的朋友。只要从终端启动Qt Creator应用程序,一切都会正常工作!
2条答案
按热度按时间rjzwgtxy1#
我认为添加
QML_IMPORT_PATH = /opt/ros/kinetic/bin
还不够。您需要首先获取setup.bash的源代码,因为qt控制台不使用
.bashrc
环境。最简单的方法是在调用任何基于rose的命令之前,在代码的开始处使用setup.bash
编辑1:
您可以调用可执行文件的绝对路径,例如
roscore
将为/opt/ros/kinetic/bin/roscore
5gfr0r5j2#
我去过那里,我的朋友。只要从终端启动Qt Creator应用程序,一切都会正常工作!