1. 程式人生 > >linux下使用g++編譯包含多個庫的c++的方法

linux下使用g++編譯包含多個庫的c++的方法

c++由於其簡潔,高效,跨平臺,使用非常廣。下面講一下怎麼在linux下編譯有多個依賴項的c++檔案。這是一個在mac上的xcode編譯通過的一個c++的工程。

這個工程依賴了多個opencv,labsvm和json的庫,要把這個工程部署到linux伺服器上,需要進行以下幾步:


第一步 在linux伺服器上安裝這些類庫

  這幾個類庫linux上的安裝包很多,隨意安裝一下就可以。以opencv為例,安裝成功以後分別執行pwd /usr/include/opencv2/和pwd /usr/lib/opencv2/下檢視,分別能看到以下檔案。

第二步 利用g++對檔案進行編譯

g++編譯的原理這裡就不贅述了,生成的過程是對.cpp檔案編譯生成.o的中間檔案,再由.o的中間檔案生成可執行檔案。這個過程最坑的地方是,要注意不同檔案的的編譯順序,例如,main.cpp檔案中引用了a.h,必須先編譯a.cpp。閒話少說。

先把檔案copy到linux某一路徑下:

使用 vim指令,新建一個build.sh的shell檔案,在裡面寫入如下g++編譯的程式碼


wq儲存文字以後,記得chmod改一下這個shell檔案的許可權,最後./build.sh執行這個shell檔案,這樣在上一級目錄就運行了一個可執行的檔案

by moon