make - 指定要从命令行链接的库(不带Makefile)

时间:2016-01-10 07:01:39

标签: c makefile

对于只有一个源文件的简单程序,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 with Multiple Executables

1 个答案:

答案 0 :(得分:1)

使用make make make链接库

如果您的源文件是prova.c,那么您可以执行以下操作:

$> export LDLIBS=-lm; make prova    # LDLIBS works on Linux (but LDFLAGS doesn't)

或:

$ make prova LDLIBS=-lm

或:

%: %.o    # Link object file
    $(CC) $(LDFLAGS) n.o $(LOADLIBES) $(LDLIBS)

as Make使用这个隐式规则:

{{1}}

Make有几个隐式规则,你可以使用make -p查看所有这些规则。 有关详细信息,请参阅此post