您的位置:首页 > 编程语言 > C语言/C++

makefile---单多个源文件,单个可执行文件(C/C++)

2015-09-18 10:47 441 查看
makefile

作用:将多个源文件编译生成一个可执行文件。

环境:Vmware Workstation;CentOS-6.4-x86_64

说明:a.c,a.h,main.c,makefile在同一个文件夹中。

1、创建并编辑a.h,a.h的代码如下:

void test();

2、创建并编辑a.c,a.c的代码如下:

#include "a.h"

void test()
{
printf("a.test func\n");
}

3、创建并编辑main.c,main.c的代码如下:

#include <stdio.h>
#include "a.h"

int main(int argc, char *args[])
{
test();
return 0;
}

4、创建并编辑makefile,makefile的代码如下:

.SUFFIXES:.c .o

CC=gcc

SRCS=main.c \
a.c

OBJS=$(SRCS:.c=.o)
EXEC=main

start: $(OBJS)
$(CC) -o $(EXEC) $(OBJS)
@echo "-----------------------------OK-----------------------"

.c.o:
$(CC) -Wall -g -o $@ -c $<

clean:
rm -rf $(EXEC) $(OBJS)

5、编译文件并执行:

[negivup@negivup mycode]$ <span style="background-color: rgb(255, 255, 153);">make</span>
gcc -Wall -g -o main.o -c main.c
gcc -Wall -g -o a.o -c a.c
gcc -o main main.o a.o
-----------------------------OK-----------------------
[negivup@negivup mycode]$ <span style="background-color: rgb(255, 255, 153);">./main</span>
a.test func

说明:将.c改成.cpp,gcc改成g++就可以编译C++程序。

PS:根据传智播客视频学习,整理得出。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: