在Sublime Text 2(gcc)中编译并运行C

时间:2015-10-12 20:21:23

标签: c windows gcc sublimetext2

我在Windows 8.1机器上的MinGW网站上安装了gcc(仅限gcc),如果从命令提示符或PowerShell使用它,它可以正常工作。 但是我在使用Sublime Text 2编译和运行C程序时遇到了麻烦。如果我只编译它(Tools - > Build)它可以很好地工作,我可以得到我想要的可执行文件。 .exe工作(即如果我手动运行它完美地工作)。问题是,如果我做工具,Sublime Text不起作用 - >跑。我在Sublime中收到此错误消息:

[Error 2] The system cannot find the file specified
[cmd:  [u'bash', u'-c', u"gcc 'E:\\Desktop\\Test\\HelloWorld.c' -ansi -pedantic -Wall -o 'E:\\Desktop\\Test/HelloWorld' && 'E:\\Desktop\\Test/HelloWorld'"]]
[dir:  E:\Desktop\Test]
[path: C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files (x86)\NVIDIA Corporation\PhysX\Common;C:\Program Files (x86)\Skype\Phone\;C:\MinGW\bin]
[Finished]

一位教授为我们提供了以下用于创建Sublime Build文件的代码(他使用Mac,这可能是问题吗?):

{
    "cmd": ["gcc", "-ansi", "-pedantic", "-Wall", "${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", "gcc '${file}' -ansi -pedantic -Wall -o '${file_path}/${file_base_name}' && '${file_path}/${file_base_name}'"]
        }
    ]
}

我尝试寻找之前提出的问题并找到了一对,但其中没有一个包括我想要使用的gcc开关:-ansi -pedantic -Wall。另外问题中提供的答案打开了一个新的命令提示符窗口来执行.exe文件,而我想在Sublime自己的输出窗口中看到执行。

提前致谢

1 个答案:

答案 0 :(得分:1)

this article所述,您可以创建自己的构建系统文件:

{
    "cmd": ["gcc", "${file}", "-o", "${file_path}/${file_base_name}.exe", "-ansi", "-pedantic", "-Wall"],
    "file_regex": "^(..[^:]*):([0-9]+):?([0-9]+)?:? (.*)$",
    "working_dir": "${file_path}",
    "selector": "source.c, source.cpp, source.c++",
    "path": "C:/PATH/TO/GCC/OR/MINGW/bin",
    "shell": true,
    "variants": [
        {
            "name": "Run",
            "cmd": ["gcc", "${file}", "-o", "${file_path}/${file_base_name}.exe", "-ansi", "-pedantic", "-Wall", "&", "${file_path}/${file_base_name}.exe"]
        }
    ]
}