程序的编译链接makefile写法
来源:互联网 发布:网络作家年收入 编辑:程序博客网 时间:2024/05/08 21:13
编译器:gcc
编译环境:linux
文件夹:inc---存放头文件.h,src---存放原文件.c,lib---存放静态文件.a,obj---存放目标文件.o 在当前目录PATH下,主函数为main.c
步骤:预编译 ---> 编译 ---> 汇编 ---> 链接
通俗来讲就是先将原文件编译成目标文件,再将目标文件链接生成可执行程序,linux中是.out形式,如windows的.exe文件一样
具体makefile编写如下:使用隐含规则 $@ ,$<, $^
1,生成目标文件*.o
CC = gcc
CFLAGS =-g -I $(PATH) / inc
$(PATH) /obj/ %.o : $(PATH) /src/ %.c
$(CC) $(CFLAGS) -c -o $@ $<
生成的目标文件.o在obj文件夹下
2,生成静态文件*.a 和动态文件*.so
TARGET = $(PATH) / lib /*.a 如libtest.a
all : $(TARGET)
$(TARGET) : $(PATH)/obj / *.o
$(AR) $@ $^
生成的静态文件.a在lib文件夹下
TARGET = $(PATH)/lib/*.so
all : $(TARGET)
$(TARGET) : $(PATH)/obj/*.o
$(CC) -fPIC -shared -o libtest.so
3,链接成可执行文件*.out
EXEFILE = $(PATH) / *.out
all: $(EXEFILE)
$(EXEFILE):
$(CC) -o main main.c -L$(PATH)/lib -ltest
即可生成可执行文件main.out
- 程序的编译链接makefile写法
- Makefile详解-程序的编译和链接
- 编译多个独立程序的Makefile的一种写法
- Makefile之关于程序的编译和链接
- make,makefile和程序的编译链接过程
- make和makefile以及程序的编译和链接过程
- GCC含义、分步骤编译以及链接过程、Makefile写法
- 交叉编译生成模块的makefile写法
- 交叉编译生成模块的makefile写法
- 交叉编译生成模块的makefile写法
- 程序的编译,链接
- 程序的编译、链接
- Ubuntu下程序的编译和链接过程和openCV的makefile文件
- Makefile 写法(编译模块)
- 内核模块编译--Makefile写法
- 多文件工程的编译-Makefile的简便写法
- 多文件工程的编译-Makefile的简便写法
- android编译系统的makefile文件Android.mk写法
- python中的字符串
- OSGI下的web应用开发(3)
- 实习总结
- Compile c/c++ program on ubuntu
- 数据排序分组以及类型转换
- 程序的编译链接makefile写法
- Vijos 1034 家族 并查集
- HDU——2034 ——人见人爱A-B
- XML 的有力帮手之一——DDT
- Python 模块
- HDU——2033—— 人见人爱A+B
- ubuntu自动挂载windows分区和开机自动启动wallproxy
- HDU——2032 —— 杨辉三角
- 使用 udev 高效、动态地管理 Linux 设备文件