如何在os x下让sublime text编译c程序

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在os x下让sublime text编译c程序相关的知识,希望对你有一定的参考价值。

让sublimetext2可以支持C语言的编译和run的方法是安装编译插件。安装C语言编译器MinGW,并把MinGW安装目录下的bin目录添加到环境变量PATH里。设置环境变量。  a.鼠标右击桌面“计算机”(WindowsXp是“我的电脑”)->“属性”  b.WindowsXP时,在新弹出的属性窗口,选择“高级”->“环境变量”。   Windows7时,在新弹出的属性窗口,选择左侧的“高级系统设置”,在新弹出的属性窗口,选择“高级”->“环境变量”。  c.把MinGW安装目录的bin目录的路径追加到PATH里,然后确定。注意:箭头指的两个分号一定要加上并且分号一定要在英文输入模式下输入在CMD中输入gcc-v,看看有没有安装成功,如果出现一下画面说明安装成功修改SublimeText。把SublimeText安装目录下的Data\Packages\Default\exec.py的45行改成下面的代码:点击红框里的Browsepackages,进入下图的目录点击红框里的Default进入下图的目录,并找到exec.py拉到Sublimetext2的窗口里,这时Sublimetext2会打开exec.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())测试。自己在SublimeText2写一个C程序,ctrl+b为编译;ctrl+shift+b为编译后在SublimeText里显示结果;ctrl+alt+shift+b为编译后在CMD里运行。新建一个程序,编译运行结果: 参考技术A 这个问题我前一段时间也遇到了

刚开始按照网上搜的一步步搞,就是出现各种问题
后来我找到,c++的build文件,然后对照着改一下,就解决了


"cmd" : ["gcc","$file_name", "-o", "$file_path/$file_base_name"],
"selector" : "source.c",
"shell" : false,
"working_dir" : "$file_path",
"variants":
[

"name":"Run",
"cmd":["bash","-c","gcc '$file' -o '$file_path/$file_base_name' && '$file_path/$file_base_name'"]

]

新建一个build,然后把这个粘贴进去就可了
和你的第二个相比多了一行 shell:false 具体有没有用我现在记不清了
我的c配置就是这样写的,能正常编译和执行,但是如果有输入(scanf) 操作的话,会出错本回答被提问者采纳

如何在 Mac OS X 终端上使用 make 编译 C 程序

【中文标题】如何在 Mac OS X 终端上使用 make 编译 C 程序【英文标题】:How to compile a C program with make on Mac OS X Terminal 【发布时间】:2014-12-12 03:06:53 【问题描述】:

我最近买了一台 Macbook Pro,我想在终端上用 C 语言编写一些代码。

我可以用这个命令编译代码:

gcc filename.c –o filename

但我想用 make 命令编译它,因为我知道这是最佳实践,我想遵循最佳实践。

make filename cc filename.c -o filename

这个命令给了我以下输出:

make: Nothing to be done for `ex01'.
make: *** No rule to make target `cc'.  Stop.

注意我已经安装了 Xcode 和 Xcode 开发者命令行工具 在文件夹 /usr/bin 中,我看到了 ma​​kema​​kefile 属性。

有人对我应该怎么做才能使用 makefile 和 cc 参数进行编译有任何提示吗?

【问题讨论】:

【参考方案1】:

make [FileName]

./[FileName]

如果文件名为 test.c 并保存在 Desktop 中,则命令为:

cd Desktop

make test

./test

【讨论】:

【参考方案2】:

我关注的是同一个tutorial,遇到了类似的问题。

我不知道你到底做了什么,但我认为错误是运行了错误的命令。您输入了make filename cc filename.c -o filename,但教程指示我们使用make filename,没有cc filename.c -o filename 部分。也许你读过旧版本?

而且,make filename 工作正常,You don't need a Makefile。


仅供参考,以下是我遇到问题的方式和解决方法:

    键入下面的代码,并将其保存在名为“ex1”的文件中

     int main(int argc, char *argv[])
     
         puts("Hello world.");
    
         return 0;
     
    
    在终端输入make ex1 收到错误消息make: Nothing to be done for 'ex1'.

如您所见,我的错误是源代码的文件名应该是ex1.c,而不是ex1

当我将文件名更改为 ex1.c 并执行 make ex1 时,它起作用了。

【讨论】:

【参考方案3】:

在同一路径上创建一个名为 Makefile 的文件,其中包含以下内容:

CC = cc
CFLAGS = -std=c99 -pedantic -Wall
OBJECTS = filename.o

all: appname

filename.o: filename.c
    $(CC) $(CFLAGS) -c filename.c

appname: $(OBJECTS)
    $(CC) $(OBJECTS) -o appname

clean:
    rm -f *.o appname

然后运行:

make

当然,将appname 替换为您的程序名称

注意:前面必须有一个“制表符”(不是空格)

$(CC) $(CFLAGS) -c filename.c

$(CC) $(OBJECTS) -o appname

【讨论】:

感谢 Alter Mann 解决了我的问题我现在很乐意享受终端中的编码。只是另一个问题,即使它解决了它,你知道为什么这不起作用 .make 文件名 cc 文件名。 c -o filename 是不是 MacO 不支持它,或者是一些配置问题,或者它只是不是这样做的方式? @bigpop 该命令行语法不受任何make 的支持,无论何时何地,任何系统。不知道你从哪里得到它,但无论你从哪里得到它,你都应该避免在未来将其用作参考。另外,我不明白答案 [there must be a] blank line before 变量赋值中的语句:据我所知,没有要求。 @MadScientist 是的,你是对的,我不会使用它,我只是对这个 :s 有点困惑。无论如何感谢您的解释,感谢它:)。

以上是关于如何在os x下让sublime text编译c程序的主要内容,如果未能解决你的问题,请参考以下文章

如何设置Mac OS X下的Sublime Text 3配置文件

如何在 Sublime Text 2 中编译和运行 C 程序?

如何使用 Sublime Text 2 编译和运行一个简单的 C 程序?

MAC OS X 上 Sublime Text 3 的下载,配置与插件推荐 (For OIers)

Sublime Text 2 实用快捷键[Mac OS X]

Python 学习之中的一个:在Mac OS X下基于Sublime Text搭建开发平台包括numpy,scipy