【环境搭建】gflags和glog的安装

在Ubuntu16.04上安装gflags

什么是gflags

gflags用于处理命令行参数

安装gflags

  1. 用apt下载git和cmake
sudo apt-get install git
sudo apt-get install cmake
  1. 将gflags源码下载到指定目录
# 以/thirdparty-source/gflags作为指定目录为例
git clone https://github.com/gflags/gflags /thirdparty-source/gflags
  1. 使用apt安装autoconf,automake和libtool
sudo apt-get install autoconf
sudo apt-get install automake
sudo apt-get install libtool
  1. 进入包含gflags源码的文件夹
# 以/thirdparty/gflags作为安装目录为例
cmake -DCMAKE_INSTALL_PREFIX=/thirdparty/gflags -DBUILD_SHARED_LIBS=ON -DGFLAGS_NAMESPACE=google -G"Unix Makefiles"
make -j
sudo make install

在Ubuntu16.04上安装glog

什么是glog

glog用于生成日志

安装glog

  1. 将glog源码下载到指定目录
# 以/thirdparty-source/glog作为指定目录为例
git clone https://github.com/google/glog /thirdparty-source/glog
  1. 进入包含glog源码的文件夹
./autogen.sh
# 以/thirdparty/glog作为安装目录为例
sudo CFLAGS="-fPIC" ./configure --prefix=/thirdparty/glog
# 以/thirdparty/glog作为安装目录为例
cmake -DBUILD_gflags_LIBS=ON -DBUILD_SHARED_LIBS=ON -DBUILD_gflags_nothreads_LIBS=ON -DGFLAGS_NAMESPACE=ON -DCMAKE_INSTALL_PREFIX=/thirdparty/glog
# 相比make,make -j编译更快
make -j
sudo make install
  1. 查看cpu信息。cat命令的功能是查看某个文件的内容,在终端打印文件中的内容
cat /proc/cpuinfo

使用glog

因为glog被安装在自己指定的目录下,所以必须通过配置环境变量才能让程序找到相关文件(gflags也是一样)。配置方法如下

1.用vim新建一个.bash_profile文件

vim .bash_profile

注意.bash_profile文件是隐藏的,查看需要用下面这个命令

ls -a
  1. 在.bash_profile文件中用下面的格式配置环境变量
# glog

# C_INCLUDE_PATH:c语言.c文件需要的头文件的路径
export C_INCLUDE_PATH="/thirdparty/glog/include":$C_INCLUDE_PATH
# CPLUS_INCLUDE_PATH是c++:cpp文件需要的头文件的路径
export CPLUS_INCLUDE_PATH="/thirdparty/glog/include":$CPLUS_INCLUDE_PATH
# LD_LIBRARY_PATH:程序编译连接之后寻找库文件的路径
export LD_LIBRARY_PATH="/thirdparty/glog/lib":$LD_LIBRARY_PATH
# LIBRARY_PATH:程序编译连接时寻找库文件的路径
export LIBRARY_PATH="/thirdparty/glog/lib":$LIBRARY_PATH
# CMAKE_PREFIX_PATH
export CMAKE_PREFIX_PATH="/thirdparty/glog":$CMAKE_PREFIX_PATH
# PKG_CONFIG_PATH
export PKG_CONFIG_PATH="/thirdparty/glog/lib/pkgconfig":$PKG_CONFIG_PATH

保存退出vim后执行下面的命令使环境变量临时生效

source .bash_profile

配置好环境变量后新建一个glog_test.cpp文件,内容如下

#include "glog/logging.h"


int main(int argc, char* argv[])
{
	google::InitGoogleLogging(argv[0]);
	
	// test_log是存放日志的文件夹,和glog_test.cpp在同一目录下,且必须提前mkdir好
	FLAGS_log_dir = "./test_log";
	LOG(INFO)<<"my glog test";
	return 0;
}

保存之后使用下面命令编译glog_test.cpp 文件

g++ -o glog_test glog_test.cpp -lglog
  • -o 后面的第一个glog_test是编译glog_test.cpp后生成可执行文件的名字
  • -lXX是手动连接c++的库,丢失或位置不对都会报错。

编译之后会在当前目录生成一个名为glog_test的可执行文件,执行它

./glog_test

之后会在test_log文件中看到生成的日志文件
图1

结语

如果您有修改意见或问题,欢迎留言或者通过邮箱和我联系。
如果我的文章对您有帮助,转载请注明出处。

  • 3
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值