我想在每次在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++"
}
答案 0 :(得分:2)
Sublime Text是一个文本编辑器,您可以在同一个引擎盖下使用不同的语言。
关于您的c ++程序,您必须为您正在使用的c ++版本安装一些软件包。我建议您观看一些教程,以获得一步一步的程序和更好的理解。
答案 1 :(得分:1)
将您的编辑器配置为针对 CTRL B 运行make
(或ninja
...)并使用Makefile
,build.ninja
,或其他一些 build automation工具。所以你可以添加适当的规则(到你的Makefile
等....)来运行别的东西。
(GNU make
和ninja
都有很好的文档和教程,你可以在SO上提出有关它们的问题,有些MCVE)
Source code editors是编辑源代码的工具。配置它们以适当地运行外部程序(编译器,调试器,您自己的东西,......或make
或ninja
)。
这里唯一的问题是我必须先编译然后运行它。我想让它编译并在一次操作中运行。
使用足够好的构建自动化工具构建。将编辑器配置为运行make
,然后编辑Makefile
以使“编译然后运行”默认目标(同样使用ninja
及其build.ninja
文件)。请记住,像GCC这样的编译器(甚至从IDE启动)是命令行程序(而mingw32-g++
是GCC编译器)。
还要养成使用所有警告和调试信息进行编译的好习惯,pass -Wall -Wextra -g
到mingw32-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
如果发现任何错误,请通知我。