2015-05-31 7 views
2

I m a ROS пользователь. С этой рамки вы обычно определяют рабочий каталог:Sublime Text 3: как создать систему сборки?

$ mkdir -p ~/catkin_ws/src 
$ cd ~/catkin_ws/src 
// Here create your c++ packages 

, а затем пусть систему для компиляции пакетов, введя следующую:

$ cd ~/catkin_ws/ 
$ catkin_make 

Но это означает, что вы должны иметь по крайней мере еще одну консоль откройте, чтобы позвонить по команде:

$ catkin_make 

, который скомпилирует сразу все пакеты, которые вы указали в этом рабочем каталоге.

Так как я использую Sublime Text 3, чтобы написать свое программное обеспечение, я хочу, чтобы иметь возможность вызывать эту функцию из Sublime я прошел через этот tutorial так много раз, но я до сих пор не понимаю, как я могу создать систему здания ,

Я уже пробовал со следующим:

{ 
    "path": "~/workspace_ros", 
    "cmd": ["catkin_make"] 
} 

, но я получаю следующее сообщение об ошибке:

[Errno 2] No such file or directory: 'catkin_make' 
[cmd: ['catkin_make']] 
[dir: /home/will/workspace_ros/src/flight_system/src/include] 
[path: /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games] 
[Finished] 

Я попытался даже со следующими параметрами:

path 
shell_cmd 

но еще он не распознает catkin как команду для компиляции

Что случилось?

PS: В рабочей области у меня уже есть файл CMakeLists.txt. Вызов catkin в оболочке компилирует все отлично.

ответ

2

Я не уверен, что это лучший способ добиться этого, но это то, что я сделал. Имейте в виду, что я сделал это для проекта winros, поэтому для регулярных проектов ROS вам просто нужно немного подкорректировать его.

Во-первых, я создал систему сборки для проекта следующим образом (так добавьте это в ваш файл проекта):

"build_systems": 
[ 
    { 
    "name" : "ROS", 
    "cmd" : ["$project_path/build.bat"], 
    "working_dir" : "$project_path", 

    "variants" : [ 
     { 
     "name" : "Run", 
     "cmd" : ["$project_path/run.bat"] 
     } 
    ] 
    } 
] 

Затем я создал в build.bat и RUN.BAT сценарии ссылаются там в корневой каталог проекта (в вашем случае ~/workspace_ros). Я создал эти скрипты, потому что для создания/запуска узлов больше, чем для вызова catkin_make. Вы также должны сначала вызвать сценарии установки.

Вот build.bat

@ECHO OFF 

REM Basically, change the cwd to the project's root dir 
SET ws_path=%~dp0 
cd /D "%ws_path%" 
call setup.bat 
winros_make -i 

Вы можете изменить это Баш скрипт для вашей системы Linux, и настроить сам скрипт. Идея состоит в том, чтобы изменить ваш cdd на путь проекта и вызвать файл установки и впоследствии построить.

Вот run.bat

@ECHO OFF 

REM Call the setup script and launch the node 
call "C:\opt\ros\hydro\x86\setup.bat" 
roslaunch eyetracker_talker talker.launch 

Опять же, вам, возможно, придется изменить это Баш скрипт. В моем случае я использую roslaunch для запуска узла.

Наконец, это дает вам две возможности сборки (Build and Build: Run). Выходные данные должны отображаться в окне вывода сборки.

Надеюсь, это поможет.

0

Я понимаю, что это немного старый вопрос, но он по-прежнему остается на google для использования catkin с Sublime, поэтому heres мой бесстыдный self plug.

Я недавно написал Sublime 3 Package, Catkin Builder, который пулирует пакеты ROS внутри Sublime. Он использует построение catkin, а не catkin_make, но это может помочь вам.