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

标签 c macos terminal makefile

我最近买了一个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 参数进行编译?

最佳答案

在与此内容相同的路径上创建一个名为 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

rm -f *.o appname

关于c - 如何在 Mac OS X 终端上使用 make 编译 C 程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26409648/

相关文章:

ajax - 在 WebView 中检索来自 AJAX Web 的提交

c# - 是否可以在 iMac 上托管 .net Web 服务?

python - 如何制作一个始终在 Linux 终端中运行的脚本?

Eclipse 终端不更新/行为奇怪

char *str 与 char str[] : segmentation issue

c - 如何使用C打印带有空格的xml文件?

c++ - 如何在 mac osx 上使用 msg_nosignal

python - 如何在 Mac 上编辑 PYTHONPATH?

c - 矩阵作为 C 中函数的参数

c++ - 用 C++ 编写多平台实现