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

运行成功~~~

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