linux多文件编译—makefile
2016-11-30 10:21
239 查看
说到linux下多文件编译。大多是c语言,因为linux内核以及许多的自由软件都是c语言编写的。当然还有c++语言,区别就是c语言使用gcc,而c++语言使用g++。那么本文以c语言为例讲解。c++那么就能融汇贯通了将gcc改为g++就好了。
1,单个文件的编译,比如有test.c 直接输入命令
执行,直接输入
2,多个文件的编译,比如有main.c address.h address.c 这三个文件,那么我们使用makefile多文件编译的方法是很方便的,如下
step1建立makefile文件
step2编辑makefile文件,在makefiel文件中写入以下
对上边的代码做一个解释:
mm是我们生成的名字,这个不用管,就写mm就好了,后边也用不到。
第一行的意思是mm是由main.o address.o生成的
第二行的意思是mm是由main.o address.o通过gcc -o生成的。注意gcc的前面是一个tab键!!
第三行的意思是main.o是由main.c address.c生成的
第四行的意思是main.o是由main.c address.c通过gcc -c生成的。注意gcc的前面是一个tab键!!
第五行第六行不解释了,都一个意思。
第七行第八行,是执行make clean后需要执行的代码,在该处的意思是删除所有.o结尾的文件和mm文件。其中第八行的格式再强调一下,(首先是一个tab键,然后rm,然后空格,然后*,然后.,然后o),,看清楚是小写字母o别写错了。
step3使用make命令编译
step4如果你写的源代码有错误,此时会报错。那么修改源代码后,再次执行step3。直至通过
step5运行程序
完!
1,单个文件的编译,比如有test.c 直接输入命令
#gcc test.c -o test
执行,直接输入
#./test
2,多个文件的编译,比如有main.c address.h address.c 这三个文件,那么我们使用makefile多文件编译的方法是很方便的,如下
step1建立makefile文件
#gedit makefile&
step2编辑makefile文件,在makefiel文件中写入以下
mm:main.o address.o gcc main.o address.o -o mm main.o:main.c address.c gcc main.c -c address.o:address.c gcc address.c -c clean: rm -fR *.o mm
对上边的代码做一个解释:
mm是我们生成的名字,这个不用管,就写mm就好了,后边也用不到。
第一行的意思是mm是由main.o address.o生成的
第二行的意思是mm是由main.o address.o通过gcc -o生成的。注意gcc的前面是一个tab键!!
第三行的意思是main.o是由main.c address.c生成的
第四行的意思是main.o是由main.c address.c通过gcc -c生成的。注意gcc的前面是一个tab键!!
第五行第六行不解释了,都一个意思。
第七行第八行,是执行make clean后需要执行的代码,在该处的意思是删除所有.o结尾的文件和mm文件。其中第八行的格式再强调一下,(首先是一个tab键,然后rm,然后空格,然后*,然后.,然后o),,看清楚是小写字母o别写错了。
step3使用make命令编译
#make -f makefile
step4如果你写的源代码有错误,此时会报错。那么修改源代码后,再次执行step3。直至通过
step5运行程序
#./makefile
完!
相关文章推荐
- Linux内核Makefile编译生成内核目标文件的过程
- 用makefile编译生成.a文件(linux静态库),并编译进可执行文件中
- linux下编译C++代码,makefile文件内容
- linux与Windows使用编译区别及makefile文件编写
- linux下使用CmakeLists.txt生成makefile文件进行编译
- linux下多个cpp文件的Makefile编译
- 编译Linux2.6.x内核驱动的makefile文件
- 从linux主目录中的makefile文件分析编译构成。。。
- linux 环境下头文件声明函数后使用makefile编译文件
- linux下多文件编译以及makefile的用法
- linux下多个cpp文件的Makefile编译
- linux下makefile多文件编译
- Linux下C多文件编译Makefile
- Makefile方法编译Linux下多文件工程
- 编译Linux2.6.x内核驱动的makefile文件
- linux下 c语言多文件编译
- linux下编译安装与卸载 tar.gz文件
- Linux内核Makefile文件
- 在VC里如何用Makefile文件编译?
- Linux平台Makefile文件的编写基础篇