【问题标题】:Using Sublime Text with cmake (build system)将 Sublime Text 与 cmake 一起使用(构建系统)
【发布时间】:2016-07-01 04:17:46
【问题描述】:

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

有什么想法吗?谢谢。

【问题讨论】:

    标签: c++ linux opencv cmake sublimetext


    【解决方案1】:

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

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

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

    【讨论】:

    • 它也适用于 Sublime Text 3。谢谢!现在,如何使用 Sublime 进行调试 ;-)?
    • 看看 sublime gdb,它很简单,效果很好:github.com/quarnster/SublimeGDB
    【解决方案2】:

    感谢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 项目!

    【讨论】:

      【解决方案3】:

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

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

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

      【讨论】:

      • 不带引号也很好用,谢谢 ("cmd": ["cmake . && make && ./a.out"])
      猜你喜欢
      • 2020-10-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-10-21
      • 2015-03-01
      • 2013-10-14
      相关资源
      最近更新 更多