准备转到做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命令即可完成编译和链接