C ++可执行文件,sh 1:未find

我创build了一个与ros协同工作的c ++程序。 第一步就是在docker开一个roscore,然后从那里开始。 我这样做与system("roscore &");

我编译我的文件,可以用./file运行它。

但是,我希望能够作为应用程序运行(双击)。 我创build了一个.desktop文件,程序显示在我的应用程序列表中。 当我开始它,但我得到的是一个terminal,打开消息

sh:1:roscore:找不到

等等

这同样适用于roslaunch命令。 我也叉和执行roslaunch命令,这不起作用。

我试过system("ls"); 哪些工作。 所有的cout消息也适用。

任何想法这里有什么不对?

roscore可执行文件不在std路径中(/ bin:/ usr / bin :)。 使用绝对路径 – system("/path/to/roscore &")