abseil庫的安裝-Ubuntu18.04

版權聲明:原創文章,歡迎轉載,但請註明出處,謝謝。https://blog.csdn.net/qiuguolu1108/article/details/106445859

abseil庫是google內部使用的一個C++基礎庫。

一、環境

本文基於Ubuntu18.04安裝abseil,需要提前安裝gitcmakeg++,其中g++需要支持C++11。本文中使用依賴軟件的版本如下:

root@learner:~# g++ --version
g++ (Ubuntu 7.5.0-3ubuntu1~18.04) 7.5.0

root@learner:~# cmake --version
cmake version 3.10.2

二、下載abseil

在github中下載abseil,abseil的github地址:https://github.com/abseil/abseil-cpp

git clone https://github.com/abseil/abseil-cpp

三、編譯

abseil編譯之後是一大堆靜態庫,使用起來很不方便。這裏爲了使用方便,會把所有的靜態庫打包成一個靜態庫,所以在設置安裝路徑時,不會安裝到系統指定庫路徑處,會把它安裝到自己設置的目錄中。最後製作好靜態庫,手動安裝。

先創建兩個目錄,一個用於安裝,一個構建。
cd abseil-cpp
mkdir bulid     #用於構建
mkdir install   #用於安裝
進入build目錄
cd build
執行cmake操作
cmake .. DCMAKE_INSTALL_PREFIX=/opt/abseil-cpp/install/

/opt/abseil-cpp/install/可以是任意有讀寫權限的目錄,可以任意設置,一會頭文件就從這個目錄中。

如果出錯,可以加上-DCMAKE_CXX_STANDARD=11參數。

執行編譯、安裝操作
make && make install

執行這步操作時,要在build目錄中。

四、安裝

安裝操作分成兩部分,一個安裝文件,另一個是安裝靜態庫。

安裝頭文件

頭文件就在/opt/abseil-cpp/install/目錄中,只要將文件夾include中的absl文件夾複製到/usr/include目錄即可。

cp -R /opt/abseil-cpp/install/include/absl/ /usr/include/
安裝靜態庫文件

默認產生了一大堆靜態庫文件,使用不方便,所以我們將所有的靜態庫打包成一個libabsl.a靜態庫。

find ./ -name "*.o" | xargs ar cr libabsl.a

進入剛纔創建的build目錄,執行上面的命令,會生成一個靜態庫libabsl.a

cp libabsl.a /usr/lib

將生成的庫複製到系統路徑

這樣abseil庫就安裝好了。

五、測試

寫一個小程序測試一下:

#include <iostream>
#include <absl/strings/string_view.h>

using namespace std;

int main()
{
    absl::string_view sv = "hello world";

    cout<<sv<<endl;

    return 0;
}
root@learner:~# g++ hello.cpp -labsl
root@learner:~# ./a.out 
hello world

運行成功~~~

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章