1. 程式人生 > >Linux下使用make構建一個C++工程專案

Linux下使用make構建一個C++工程專案

Linux下構建一個C++工程專案

在Windows系統下,我們可以使用Visual Studio等IDE幫助我們構建一個C++工程專案,本文在Linux系統環境中,使用makevim構建一個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的版本號,如下圖所示,則說明安裝成功

這裡寫圖片描述

(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 <iostream>
#include "point.h"

void point::print(){
        std::cout<<"x="<<this->x<<",y="<<this->y<<"\n";
}
  • point.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;
}

三、構建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檔案,可以看到最後的結果

這裡寫圖片描述