对于简单的程序,例如 proc.c
只有一个源文件,只用make proc
编译链接很方便,默认搜索 proc.c
并创建 proc
作为输出文件。无需创建 Makefile
为此。
如果proc.c
需要链接一些库,例如数学库(由 <math.h>
定义)。使用 gcc
直接,我们可以使用gcc -c proc.c -o proc -lm
.有没有等价的 make
指定 -lm
的命令行选项所以我们可以使用 make
直接命令而不写 Makefile
?
Basile Starynkevitch 建议的类似任务:
最佳答案
不带 makefile 的 make 链接库
如果您的源文件是 prova.c,那么您可以执行以下操作:
$> export LDFLAGS=-lm; make prova
或:
$> export LDLIBS=-lm; make prova # LDLIBS works on Linux (but LDFLAGS doesn't)
或:
$ make prova LDLIBS=-lm
因为 Make 使用了这个隐式规则:
%: %.o # Link object file
$(CC) $(LDFLAGS) n.o $(LOADLIBES) $(LDLIBS)
Make 有几个隐式规则,您可以使用 make -p 查看所有这些规则。 有关详细信息,请参阅此 post .
关于c - make - 指定要从命令行链接的库(没有 Makefile),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34702937/