2017-06-06 80 views
3

我創建了一個與ros一起工作的C++程序。第一步是在碼頭打開一個roscore,然後從那裏開始。我這樣做與system("roscore &");C++可執行文件,sh 1:找不到

我編譯我的文件,並可以運行它就好了./file。

但是,我希望能夠將其作爲應用程序運行(雙擊)。我創建了一個.desktop文件,該程序顯示在我的應用程序列表中。當我雖然啓動它,我得到的是與郵件打開一個終端

SH:1:roscore:找不到

這同樣適用於roslaunch命令。我還分叉並執行了一個roslaunch命令,這不起作用。

我試過system("ls");哪些工作。所有的cout消息也適用。

任何想法這裏有什麼問題嗎?

回答

0

roscore可執行文件不在std路徑中(/ bin:/ usr/bin :)。使用絕對路徑 - system("/path/to/roscore &")

+0

謝謝,這是問題所在。 但是,現在的錯誤是不同的,Roscore包含「from rosmaster.master_api import NUM_WORKERS」,無法找到。 沒有名爲rosmaster.master_api的模塊。 – Julian

+0

系統(「cd/path/to/roscore; ./roscore&」)您應該閱讀一些基本的shell手冊;) – Rus