Windows 下 Sublime text 2 运行程序出现[Error 2] 的解决办法

本文详细介绍了如何解决Sublime Text在运行C/C++程序时遇到的错误问题,通过修改配置文件,成功解决了由命令执行引起的错误,并提供了完整的步骤和解决方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Sublime text是一款跨平台的轻量级编辑器,相比于其他大型IDE来说,启动快、体积小、操作方便是它最大的优势,同时本身还带有编译、运行等工具插件。但在使用这个自带的运行插件时,我遇到了网上很多同学都遇到的问题:

[Error 2] 
[cmd:  [u'bash', u'-c', u"g++ 'D:\\codeblocks\\project\\test.c' -o 'D:\\codeblocks\\project/test' && 'D:\\codeblocks\\project/test'"]]
[dir:  D:\codeblocks\project]

经过简单分析,发现原因是:sublime在运行可执行程序时执行的命令有问题。
按下快捷键“Ctrl+`”查看显示面板,就能看到编译和运行的两条命令:
Running g++ D:\codeblocks\project\test.c -o D:\codeblocks\project/test
Running bash -c g++ 'D:\codeblocks\project\test.c' -o 'D:\codeblocks\project/test.exe' && 'D:\codeblocks\project/test'
错误就是来自第二句,解决办法如下:

---------------------------------------------------------------------------------------------

1、打开sublime安装目录下的F:\SublimeText2.0\SublimeText2\Data\Packages\C++\C++.sublime-build,
其内容大概是这样:
{
"cmd": ["g++", "${file}", "-o", "${file_path}/${file_base_name}"],
"file_regex": "^(..[^:]*):([0-9]+):?([0-9]+)?:? (.*)$",
"working_dir": "${file_path}",
"selector": "source.c, source.c++",

"variants":
[
{
"name": "Run",
"cmd": ["bash", "-c", "g++ '${file}' -o '${file_path}/${file_base_name}.exe' && '${file_path}/${file_base_name}'"]
}
]
}
2、将"name": "Run"下面的一句注释掉或者直接删除掉,替换成下面的:
"cmd": [ "${file_path}/${file_base_name}.exe"]
即,文件变成:
{
"cmd": ["g++", "${file}", "-o", "${file_path}/${file_base_name}"],
"file_regex": "^(..[^:]*):([0-9]+):?([0-9]+)?:? (.*)$",
"working_dir": "${file_path}",
"selector": "source.c, source.c++",

"variants":
[
{
"name": "Run",
//"cmd": ["bash", "-c", "g++ '${file}' -o '${file_path}/${file_base_name}.exe' && '${file_path}/${file_base_name}'"]
"cmd": [ "${file_path}/${file_base_name}.exe"]
}
]
}
3、保存该配置文件。打开写好的C/C++程序,Ctrl+B(编译)和Shift+Ctrl+B(运行)就可以了!
显示面板信息为:
Running g++ D:\codeblocks\project\test.c -o D:\codeblocks\project/test
Running D:\codeblocks\project/test.exe
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值