makefile的学习
2013-07-18 16:50
169 查看
准备转到做C++游戏服务器去了,所以就必须学习一些关于C++的编译和链接了,否则怎么编译和链接都不知道,又谈何开发呀。
在linux下进行单文件的编译,一般而言,我们是这样写命令的,比如我们需要编译一个文件server.c,那么在命令行下我们会敲下:gcc server.c -o server
这样我们就完成了文件的编译和链接,没错,单个文件的时候我们是这样执行命令就OK了,但是当我们是一个项目的时候,我们的项目是由许许多多的文件
组成的,那样再用这样的一个命令就想完成编译和链接是不行的,当然我们可以单个文件一个一个编译好,然后再链接成可执行执行文件,但这样还是费劲了。
这时,我们强大的武器就来了,make工具,只需要编写一个makefile或MakeFile文件,然后在存在make工具的前提下,执行make命令就可以完成多个文件的编译
和链接。
关于makefile文件的编写
新建一个文件,这个文件不需要后缀名,将该文件命名为makefile即可
写法:
目标文件:依赖文件1 依赖文件2
shell编译命令
这里要注意的是第一行依赖关系要顶格写,行开头不许存在空格什么的。
第二行为shell的编译命令,这一行必须是以tab键开头
例子:
server:Socket.o ServerSocket.o ChatServer.o
g++ Socket.o ServerSocket.o ChatServer.o -o server
Socket.o:Socket.h Socket.cpp
g++ Socket.cpp -c
ServerSocket.o:ServerSocket.h ServerSocket.cpp
g++ ServerSocket.cpp -c
ChatServer.o:ChatServer.cpp
g++ ChatServer.cpp -c
在项目下放置这样的一个makefile文件,切换到项目下,执行make命令即可完成编译和链接
在linux下进行单文件的编译,一般而言,我们是这样写命令的,比如我们需要编译一个文件server.c,那么在命令行下我们会敲下:gcc server.c -o server
这样我们就完成了文件的编译和链接,没错,单个文件的时候我们是这样执行命令就OK了,但是当我们是一个项目的时候,我们的项目是由许许多多的文件
组成的,那样再用这样的一个命令就想完成编译和链接是不行的,当然我们可以单个文件一个一个编译好,然后再链接成可执行执行文件,但这样还是费劲了。
这时,我们强大的武器就来了,make工具,只需要编写一个makefile或MakeFile文件,然后在存在make工具的前提下,执行make命令就可以完成多个文件的编译
和链接。
关于makefile文件的编写
新建一个文件,这个文件不需要后缀名,将该文件命名为makefile即可
写法:
目标文件:依赖文件1 依赖文件2
shell编译命令
这里要注意的是第一行依赖关系要顶格写,行开头不许存在空格什么的。
第二行为shell的编译命令,这一行必须是以tab键开头
例子:
server:Socket.o ServerSocket.o ChatServer.o
g++ Socket.o ServerSocket.o ChatServer.o -o server
Socket.o:Socket.h Socket.cpp
g++ Socket.cpp -c
ServerSocket.o:ServerSocket.h ServerSocket.cpp
g++ ServerSocket.cpp -c
ChatServer.o:ChatServer.cpp
g++ ChatServer.cpp -c
在项目下放置这样的一个makefile文件,切换到项目下,执行make命令即可完成编译和链接
相关文章推荐
- makefile学习笔记
- linux下Makefile的学习之七(make 的运行)
- Makefile学习总结
- Makefile学习笔记
- C语言 makefile学习及实现实例
- Android学习 - Makefile之wildcard
- 这是关于Makefile的基础学习
- 【Makefile由浅入深完全学习记录6】Makefile中变量的高级主题上
- linux驱动学习(三) helloword 和 驱动Makefile
- makefile学习经验(二)----编译生成静态库文件
- makefile编写学习
- 对 makefile 中 .SECONDARY 的学习体会
- Makefile学习教程
- 在实践中学习makefile
- Makefile学习
- 对 makefile 中 .DELETE_ON_ERRORS 的学习体会
- 深入学习Make命令和Makefile(上)(2)
- 学习Makefile
- Makefile学习(一)
- makefile学习总结