如何使用sublime text 3编译和运行c ++程序?

时间:2017-09-29 06:32:50

标签: c++ compilation sublimetext3

我想在每次在Sublime Text 3中按CTRL + B时​​在cmd中编译并运行一个c ++程序。另外,我需要在程序完全执行后保持窗口处于活动状态。我特别喜欢代码块使用的构建系统。我可以在Sublime中实现相同的系统吗?

到目前为止,我有以下构建系统:

{
"cmd": ["mingw32-g++", "-o", "$file_base_name", "$file"],
"path": "C:\\MinGW\\bin\\",
"variants": [

    {   
        "cmd": ["start", "cmd", "/k", "$file_base_name"],
        "shell": true,
        "name": "Run"
    }
    ]
}

这里唯一的问题是我必须先编译然后运行它。我想让它编译并在一次操作中运行。

修改 我通过以下构建系统解决了这个问题:

{
"cmd": ["g++.exe", "-std=c++11", "-o", "$file_base_name", "$file", "&&", "start", "cmd", "/c", "$file_base_name & echo. & echo. & pause"],
"shell": true,
"selector": "source.c++"
}

3 个答案:

答案 0 :(得分:2)

  1. Sublime Text是一个文本编辑器,您可以在同一个引擎盖下使用不同的语言。

  2. 关于您的c ++程序,您必须为您正在使用的c ++版本安装一些软件包。我建议您观看一些教程,以获得一步一步的程序和更好的理解。

答案 1 :(得分:1)

将您的编辑器配置为针对 CTRL B 运行make(或ninja ...)并使用Makefilebuild.ninja,或其他一些 build automation工具。所以你可以添加适当的规则(到你的Makefile等....)来运行别的东西。

GNU makeninja都有很好的文档和教程,你可以在SO上提出有关它们的问题,有些MCVE

Source code editors是编辑源代码的工具。配置它们以适当地运行外部程序(编译器,调试器,您自己的东西,......或makeninja)。

  

这里唯一的问题是我必须先编译然后运行它。我想让它编译并在一次操作中运行。

使用足够好的构建自动化工具构建。将编辑器配置为运行make,然后编辑Makefile以使“编译然后运行”默认目标(同样使用ninja及其build.ninja文件)。请记住,像GCC这样的编译器(甚至从IDE启动)是命令行程序(而mingw32-g++GCC编译器)。

还要养成使用所有警告和调试信息进行编译的好习惯,pass -Wall -Wextra -gmingw32-g++ Makefile(因此,请适当编辑您的{ {1}}或build.ninja文件)。

换句话说,IDE - 只是一个流行语 - 是一个适当配置为运行其他程序的源代码编辑器。我的偏好是emacs

答案 2 :(得分:1)

{
"shell_cmd": "g++ -std=c++11 -Wall \"${file}\" -o \"${file_path}/${file_base_name}\" && start cmd /k \"$file_base_name\"",
"working_dir": "${file_path}",
"selector": "source.cpp, source.cxx, source.cc, source.c++"
}

转到“工具”->“构建系统”->“新构建系统”->“粘贴”->将其保存为“ C ++”,然后将其关闭。
现在,使用.cpp扩展名保存您的C ++ / C代码(不支持重要的.c扩展名),然后对其进行编译,请转到工具->使用“ C ++”构建 文件下载链接:https://github.com/mahirx/configurations/blob/master/sublime_text/c_and_c%2B%2Bv2/C%2B%2B.sublime-build

如果发现任何错误,请通知我。