如何为此创建Makefile

时间:2016-04-23 07:18:02

标签: c makefile gd

这是我的头文件

view.text_point()

当我运行这个程序时,我通常会输入' gcc -o test test.o -lm -lpng -lgd' 它只适用于一个.c文件,但这仅用于测试。我想在我的项目中将其与其他c文件链接起来(实际上我很难使用gd.h)

这是我的Makefile(但它不起作用!!)

#include <stdio.h>
#include <stdlib.h>
#include "gd.h"
#include "gdfontmb.h"
#include "gdfontl.h"
#include "gdfontg.h"

使用这个Makefile,我得到了关于gd库中任何内容的未定义引用的所有错误。 我做错了什么以及如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

你自己的cc命令已经给出了答案。你需要-lgd,而不是-gd。

E.g。在开始时设置:

LIBS=-lm -lpng -lgd
CC=gcc

(后者也可以是完全依赖于OS的路径,然后CC应该是OS特定部分的一部分,并被指定为完整路径)。

并稍后将gcc行更改为

$(CC) -o test$(EXECEXT) test.o $(LIBS)

test.o的规则(通常)并不是真的需要,因为它是从.c文件制作.o文件的默认方式。