使用Sublime Text和cmake(构建系统)

Using Sublime Text with cmake (build system)

本文关键字:构建 系统 cmake Sublime Text 使用      更新时间:2023-10-16

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

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

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
    }
}

有什么想法吗?谢谢。

你可以使用 cmake 创建一个崇高的项目。只需执行

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

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

构建系统中应该只有一个"cmd"键。请阅读文档以获取更多信息。相反,您可以使用 && 运算符连接命令:

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

因为你使用的是Linux,所以你根本不需要Windows的东西。

感谢 MattDMo,我构建了一个正常工作的构建系统,这里是:

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

它将CMakeList.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项目!