github email
Cppdirdemo

Make构建C++项目

使用VS Code编写代码的时候,总报错“Makefile:4: *** missing separator. Stop.”,换成Emacs后就搞定了,发现Tab的格式有问题,或许emacs才是最好的选择,写C++。

1.创建目录Point

mkdir Point

2. 创建头文件point.h

vim point.h

内容如下:

class point{
private:
        int x;
        int y;
public:
        point(int a,int b):x(a),y(b){}
        void print();
        ~point(){}
};

3. 创建文件point.cpp

vim point.cpp

内容如下:

#include <iostream>
#include "point.h"

void point::print(){
        std::cout<<"x="<<this->x<<",y="<<this->y<<"\n";
}

4.创建main文件

vim main.cpp

内容如下:

#include <iostream>
#include <vector>
#include "point.h"
using namespace std;

int main(){

        point p0(3,4);//创建三个point对象
        point p1(1,2);
        point p2(5,8);

        vector<point> v;//创建一个存储point对象的容器

        v.push_back(p0);
        v.push_back(p1);
        v.push_back(p2);

        for(int i=0;i<v.size();i++)//打印容器中的所有point对象
                v[i].print();

        return 0;
}

5.创建Makefile文件

vim Makefile 

vim makefile也是可以的,命令make会在当前目录下寻找Makefile或者makefile

内容如下:

all:
    g++ main.cpp point.cpp -o app -std=c++11
clean:
    rm app

参数说明:

g++ main.cpp point.cpp # 使用g++编译器编译当前所有的cpp文件

main.cpp一定要放在第一个-o app # 参数-o表示最终生成的可执行文件为app

-std=c++11 # 用于支持c++11的标准,-std=gnu++11用于支持c++11标准和gnu扩展特性

rm app # 删除app

6.编译

make

这个例子来自于网上,得找时间修改一下,在此记录的同时也方便以后编写的时候作为参考。