11 条
LOGO
Yutuo

之前说了SublimeText下C编译环境的设置,C++的设置也大体相同。其设置方法如下

1. 安装C语言编译器MinGW,并把MinGW安装目录下的bin目录添加到环境变量PATH里。详细方法参照MinGW安装和使用

2. 因为SublimeText原本的编译环境不支持非英语系统,所以要先修改SublimeText。把SublimeText安装目录下的DataPackagesDefaultexec.py的45行改成下面的代码:

# proc_env[k] = os.path.expandvars(v).encode(sys.getfilesystemencoding())
proc_env[k] = os.path.expandvars(v.decode(sys.getfilesystemencoding())).encode(sys.getfilesystemencoding())

3. 在SublimeText安装目录下的DataPackagesUser新建一个C.sublime-build(注意不要修改文件名和大小写)。因为SublimeText默认的执行不支持输入,所以我添加了一个RunInCommand,可以让程序在CMD下面执行。内容如下

{
    "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": ["cmd", "/c", "g++", "${file}", "-o", "${file_path}/${file_base_name}", "&&", "cmd", "/c", "${file_path}/${file_base_name}"]
        },
        {
            "name": "RunInCommand",
            "cmd": ["cmd", "/c", "g++", "${file}", "-o", "${file_path}/${file_base_name}", "&&", "start", "cmd", "/c", "${file_path}/${file_base_name} & pause"]
        }
    ]
}

4. 设置快捷键。在SublimeText里,打开Preferences -> Key Bindings - User,在里面添加一行{ "keys": ["ctrl+alt+shift+b"], "command": "build", "args": {"variant": "RunInCommand"} }。如果已经设置,跳过。我定义的是ctrl+alt+shift+b,也可以根据自己的定义,以下是我的 Key Bindings - User文件内容

[
    { "keys": ["ctrl+alt+shift+b"], "command": "build", "args": {"variant": "RunInCommand"} }
]

5. 测试。自己在SublimeText写一个C++程序,ctrl+b为编译;ctrl+shift+b为编译后在SublimeText里显示结果;ctrl+alt+shift+b为编译后在CMD里运行。

注意:源代码路径中不能有空格和非英文字符。

发表我的评论

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

网友最新评论(11)

  1. 福俩

    输入代码,ctrl+b后显示
    g++: error: : No such file or directory
    g++: fatal error: no input files
    compilation terminated.
    [Finished in 0.4s with exit code 1]

    麻烦问下,这是哪里出问题了?

    1. 宇托

      你的目录文件目录里有没有中文或者空格,有的话,可能出现你说的那个问题。

      1. mumu

        你好 我也出现了这个问题 但源代码的路径包括哪些呢

        1. 宇托

          比如你的C文件的路径是 D:\Studio\C_CPP\test.c 。源代码的路径就是指这整个目录:"D:\Studio\C_CPP\test.c"。在这个路径里不能有空格,&符号

  2. 黄鑫

    你好 我也是这样配置的,但是后面那个“设置快捷键”一直是不对,没有在CMD中运行。请问怎么解决呢?

    1. 宇托

      要确认两个地方:
      1. 源代码的路径里不能有空格和非英文字符
      2. 写的代码是否编译成成功,也就是说在源代码目录是否有EXE文件生成。

  3. lele861009

    你好,我参照你的方法配置C++编译环境之后,对.c文件可以支持cmd运行,但是对.cpp文件不支持cmd运行,提示是“不是内部或外部命令,也不是可运行的程序或批处理文件”。请问,如何解决?谢谢!

    1. yutuo

      1,在命令行运行g++,确认g++是否配置到PATH里。
      2,确定CPP文件路径里是否有空格。
      3,确定是否能编译成功。

  4. Noble

    X:Users用户名AppDataRoamingSublime Text 2

  5. bantao

    老师,我现在用st3,确实不支持中文,在cmd输入的中文为乱码,st3没有exec.py这个文件呀,请问应该怎么解决?

    1. yutuo

      我用的也是ST3,但好像没有你说的这个问题,你能详细说一下吗?