Linux下使用make构建一个C++工程项目

Linux下构建一个C++工程项目

在Windows系统下,我们可以使用Visual Studio等IDE帮助我们构建一个C++工程项目,本文在Linux系统环境中,使用make和vim构建一个C++工程项目

编译环境与工具

  • Ubuntu 14.04
  • g++
  • make
  • vim

一、安装vim和make编译工具

如果你的Linux系统没有任何文件编辑工具和项目构建工具,那么你需要安装它们。Ubuntu在默认的情况下,并没有提供C/C++的编译环境,因此还需要手动安装。如果单独安装gcc以及g++比较麻烦,幸运的是,Ubuntu提供了一个build-essential软件包。

(1)安装vim

  • ubuntu命令终端下键入
sudo apt-get install vim
  • 检查vim是否安装成功
vim --version #如果在终端输出当前vim的版本号,如下图所示,则说明安装成功

Linux下使用make构建一个C++工程项目_第1张图片

(2)安装build-essential

  • ubuntu命令终端下键入
sudo apt-get install build-essential #支持gcc/g++、make等命令
  • 检查make是否安装成功
make --version #如果在终端输出当前make的版本号,如下图所示,则说明安装成功

这里写图片描述
- 检查g++是否安装成功

g++ --version #如果在终端输出当前g++的版本号,如下图所示,则说明安装成功

这里写图片描述

二、使用vim编辑一个C++程序

程序实例:写一个整型的坐标点类point,然后在主程序中创建三个坐标点类的对象,并放入容器vector中,通过调用坐标点类point中的成员函数point::print()来输出每一个点的坐标。该程序一个包含三个文件:

  • main.cpp
  • point.cpp
  • point.h

(1)创建一个C++工程项目目录

  • 新建一个名为“Point”的目录
mkdir Point

(2)编辑三个C++文件

进入./Point目录并使用vim编辑三个C++文件

cd ./Point
vim point.h
vim point.cpp
vim main.cpp

三个C++文件的内容如下

  • point.h
class point{
private:
        int x;
        int y;
public:
        point(int a,int b):x(a),y(b){}
        void print();
        ~point(){}
};
  • point.cpp
#include 
#include "point.h"

void point::print(){
        std::cout<<"x="<x<<",y="<y<<"\n";
}
  • point.cpp
#include 
#include 
#include "point.h"
using namespace std;

int main(){

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

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

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

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

        return 0;
}

三、构建C++工程项目

(1)编辑Makefile文件

  • 在./Point目录下,使用vim编辑一个名为Makefile或者makefile的文件
cd ./Point
vim Makefile #vim makefile也是可以的,命令make会在当前目录下寻找Makefile或者makefile
  • Makefile内容如下
all:
    g++ main.cpp point.cpp -o app -std=c++11
clean:
    rm app
  • 解释Makefile里面的内容
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

(2)使用命令make构建C++工程项目

  • 进入./Point目录下
cd ./Point # 该Point目录下应该有如下图的四个文件

这里写图片描述

  • 在当前目录下执行命令make
make # 执行make,就可以构建C++项目
./app # 执行生成的app文件,可以看到最后的结果

Linux下使用make构建一个C++工程项目_第2张图片


你可能感兴趣的:(C/C++)