我创建了一个与 ros 一起使用的 c++ 程序。第一步是在终端中打开一个 roscore,然后从那里继续。我用 system("roscore &");
我编译了我的文件并且可以用 ./file 运行它。
但是,我希望能够将其作为应用程序运行(双击)。我创建了一个 .desktop 文件,该程序出现在我的应用程序列表中。但是,当我启动它时,我得到的只是一个终端,它打开时显示消息
sh: 1: roscore: not found
etc.
这同样适用于 roslaunch 命令。我还 fork 并执行了一个 roslaunch 命令,但效果不佳。
我试过 system("ls");
效果很好。所有 cout 消息也都有效。
知道这里出了什么问题吗?
最佳答案
roscore 可执行文件不在标准路径 (/bin:/usr/bin:) 中。使用绝对路径 - system("/path/to/roscore &")
关于C++ 可执行文件,sh 1 :not found,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44385875/