sublime text 2 build system for C programming language

28,540

From menu, choose Build -> New build system ... and copy-paste this:

Windows

Compile Only:

{
"cmd" : ["gcc", "$file_name", "-o", "${file_base_name}.exe", "-lm", "-Wall"],
"selector" : "source.c",
"shell":true,
"working_dir" : "$file_path"
}

Compile & Run:

{
    "windows":
    {
        "cmd": ["cc","-std=c99" ,"$file_name","-o", "${file_base_name}.exe", "-lm", "-Wall", "&","start", "${file_base_name}.exe"]
    },
    "selector" : "source.c",
    "shell": true,
    "working_dir" : "$file_path",
}

Linux

Compile Only:

{
"cmd" : ["gcc", "$file_name", "-o", "${file_base_name}", "-lm", "-Wall"],
"selector" : "source.c",
"shell":false,
"working_dir" : "$file_path"
}

Compile & Run:

{
    "linux":
    {
        "cmd": ["cc","-std=c99" ,"$file_name","-o", "${file_base_name}", "-lm", "-Wall", ";", "./${file_base_name}"]
    },
    "selector" : "source.c",
    "shell": true,
    "working_dir" : "$file_path",
}

and save this with extension *.sublime-build

ST just is a editor, so you cannot use it as a input stream, you have to use a shell like bash, zsh, ... to do it.

Share:
28,540
userzerox
Author by

userzerox

Updated on May 10, 2020

Comments

  • userzerox
    userzerox almost 4 years

    I'm learning C language. I'm referring book by Dennis Ritchie & Kernighan. And there fore Just ANSI complaint programs. I've installed ANSI compiler. I just installed Sublime text 2 editor. Could someone give me a build system that would do the following.

    1) Compile my source file

    2) Display error (in well formatted manner) within sublime on unsuccessful compilation.

    3) On successful compilation, Generate binary file with name same as the Source file name within my working directory.

    4) Accept Any user input within sublime to calculate Output. (Since i'm a beginner i mostly write programs that would ask the user to input. ex: Program to calculate number of characters in user input name.)

    5) Separate selection for Compile & run.

    Thanks in Advance.

  • userzerox
    userzerox over 11 years
    Dr. Astragalo: I need build system for the requirements mentioned above. Existing build system doesn't provide all the features mentioned above. The default build system isn't working either. C is seleted and when i build i get "The system cannot find the file specified" Error. Compiler installed Location: C:\MingGW\bin PATH is specified in Environment variables properly.
  • userzerox
    userzerox over 11 years
    c633: I'm very thankful to you. It works. Really Appreciate your response. :)
  • JSmyth
    JSmyth over 10 years
    Wouldn't it be already enough without instructing GCC to link with math library -lm?
  • Michael Sasser
    Michael Sasser over 7 years
    Is there any sublime way to keep the shell open after exec. on windows? I mean, it only avoids writing an extra line in C, but it might be helpful for lazy people like me... Or is it possible to use the buildlog as output?