Linux下使用make構建一個C++工程專案
阿新 • • 發佈:2019-02-09
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的版本號,如下圖所示,則說明安裝成功
(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檔案,可以看到最後的結果