习惯了windows下ide创建工程已经代码的编写,然后一键运行,很简单,因为很多事ide都帮我们做了,但是linux下不一样,需要手动编译,执行一条条的命令,一般工程都是由于很多文件组成的,比如c++有很多.h和.cpp文件,难道编译的话需要我们一个一个手动编译?比如这样:

g++ main.cpp fun1.cpp fun2.cpp -o main

如果有几百个几千个呢?在终端敲命令岂不是累死人,万一哪个文件名写错了还得重新敲,有什么办法呢?当然有,编写makefile文件,下面就来以简单的例子学会写简单的makefile文件
首先,新建一个project文件夹,里面新建makefieDemo文件夹,然后在里面建立.cpp和.h文件
在这里插入图片描述写好文件后
在这里插入图片描述保存并退出
现在目录下有3个文件
在这里插入图片描述可以写makefile文件了,终端执行vim makefile,就可以编写了,注意,一般makefile文件名是makefile或者Makefile,千万不要写成makeFile!!!!
因为这里在.h文件里就定义了函数,而不是只在.h声明,然后再.cpp文件定义,所以这里只有一个cpp文件,makefile文件可以这样写
在这里插入图片描述#表示注释,首先写要生成的可执行文件的名字main,然后冒号,main由main.cpp得来的,然后换行,tab,下面是命令,然后保存退出
终端输入make,就会产生可执行文件main,输入./main即可执行
在这里插入图片描述

我这里比较省事,主要是为了学习makefile文件的编写
再详细点,如下:
标准的工程下都会有很多对应.h的.cpp文件,以及一个main.cpp文件
在这里插入图片描述写好后工程目录一共这么多文件
在这里插入图片描述现在vim makefile重新编写makefile文件
在这里插入图片描述格式差不多的,由上往下一步一步递归,main可执行文件由源文件main.cpp,目标文件fun1.o,fun2.o得来,然后目标文件又由相应的cpp文件得来
保存退出,执行make命令
在这里插入图片描述成功
必须说一下,第一次在linux环境下编译c++工程,而且第一次用vim进行多文件编写,难免不适应,所以.h,.cpp文件容易写错,前面的图片中其实.h或者.cpp文件都可能写错了,不想vs ide之类的有错误提示,在写代码的时候就可以发现错误,linux和windows下写代码有很大的不同,刚开始可能会不怎么习惯,多练练就好

Logo

更多推荐