abseil库的安装-Ubuntu18.04
邱国禄 2020-05-30 19:31:02
收藏 3
分类专栏: 环境搭建 文章标签: c++ linux ubuntu
版权
<article class="baidu_pl">
版权声明:原创文章,欢迎转载,但请注明出处,谢谢。https://blog.csdn.net/qiuguolu1108/article/details/106445859
abseil库是google内部使用的一个C++基础库。
一、环境
本文基于Ubuntu18.04
安装abseil,需要提前安装git
和cmake
、g++
,其中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
运行成功~~~
</article>