将Sublime Text与cmake一起使用(构建系统)

时间:2016-03-15 15:53:04

标签: c++ linux opencv cmake sublimetext

我在Ubuntu中使用Sublime Text并学习OpenCV。直到今天,我使用Sublime Text编写并保存代码,并使用Terminal进行编译。

我正在使用以下代码进行编译:

cmake .
make
./a.out

但是为了快速处理,我正在尝试制作我的构建系统,我想通过按Ctrl + B

自动完成所有这一切。

我在自定义构建系统中尝试了以下代码,但它失败了:

{
    "cmd": ["cmake ."],
    "cmd": ["make"],
    "cmd": ["./a.o"],
    "selector": "source.c++",
    "shell": true,

    "windows":
    {
        "cmd": ["cl", "/Fo${file_path}", "/O2", "$file"],
        "selector": "source.c++",
        "shell": true
    }
}

有什么想法吗?感谢。

3 个答案:

答案 0 :(得分:5)

您的构建系统中只应有一个"cmd"密钥。有关更多信息,请阅读the docs。相反,您可以使用&&运算符连接命令:

{
    "cmd": ["cmake .", "&&", "make", "&&", "./a.out"],
    "selector": "source.c++",
    "shell": true,
}

由于您使用的是Linux,因此根本不需要Windows内容。

答案 1 :(得分:4)

您可以使用cmake创建一个sublime项目。只需执行

cmake -G "Sublime Text 2 - Unix Makefiles" .

我不知道它是否适用于subime text 3,因为我没有安装它

答案 2 :(得分:0)

感谢MattDMo,我构建了一个可以正常运行的构建系统,现在它是:

{
    "cmd": ["cp /home/as/Documents/c++/opencv/CMakeLists.txt ${file_path} &&  cmake . && make && ./project"], "working_dir": "${file_path}",
    "selector": "source.c++",
    "shell": true
}

它将CMakeLists.txt(我准备适用于每个项目的默认CMakeList.txt)复制到当前项目目录并运行项目。

此外,CMakeLists.txt包含以下文本:

cmake_minimum_required(VERSION 2.8)
project( project )
find_package( OpenCV REQUIRED )
add_executable( project main.cpp )
target_link_libraries( project ${OpenCV_LIBS} )

我希望能够运行所有OpenCV项目!