Build 升华文本3:如何创建构建系统?

Build 升华文本3:如何创建构建系统?,build,sublimetext3,ros,catkin,Build,Sublimetext3,Ros,Catkin,我是一个用户。使用该框架,您通常会定义一个工作目录: $ mkdir -p ~/catkin_ws/src $ cd ~/catkin_ws/src // Here create your c++ packages 然后让系统通过键入以下命令来编译包: $ cd ~/catkin_ws/ $ catkin_make { "path": "~/workspace_ros", "cmd": ["catkin_m

我是一个用户。使用该框架,您通常会定义一个工作目录:

$ mkdir -p ~/catkin_ws/src
$ cd ~/catkin_ws/src
// Here create your c++ packages
然后让系统通过键入以下命令来编译包:

$ cd ~/catkin_ws/
$ catkin_make
{
    "path": "~/workspace_ros",
    "cmd": ["catkin_make"]
}
但这意味着您应该至少再打开一个控制台,以调用命令:

$ catkin_make 
它会立即编译您在该工作目录中编写的所有包

因为我使用升华文本3来编写我的软件,所以我希望能够从升华调用该函数 我经历了这么多次,但我仍然不明白如何创建我的建筑系统

我已经尝试了以下方法:

$ cd ~/catkin_ws/
$ catkin_make
{
    "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
文件。在shell中调用
catkin
可以很好地编译一切。

我不确定这是否是实现它的最佳方法,但我就是这么做的。请记住,我这样做是为了一个winros项目,所以对于常规的ROS项目,您只需要稍微调整一下

首先,我为项目创建了一个构建系统,如下所示(因此将其附加到项目文件中):

然后我在项目的根目录中创建了build.bat和run.bat脚本(在您的例子中是~/workspace\u 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系统的bash脚本,并调整脚本本身。其想法是将cwd更改为项目的路径,然后调用安装文件并随后生成

跑吧,蝙蝠

@ECHO OFF

REM Call the setup script and launch the node
call "C:\opt\ros\hydro\x86\setup.bat"
roslaunch eyetracker_talker talker.launch
同样,您可能需要将其更改为bash脚本。在我的例子中,我使用roslaunch来运行节点

最后,这为您提供了两个构建选项(build和build:Run)。两者的输出都应该显示在buildoutput窗口中


希望这能有所帮助。

我意识到这是一个老问题,但它仍然是谷歌上使用带有升华的柳絮的首选,所以这里是我无耻的自我插件

我最近写了一个Sublime 3软件包,它将ROS软件包放在Sublime中。它使用柳絮构建,而不是柳絮制作,但它可能会帮助您