sudo apt-get install libgoogle-glog-dev(fuqiang)
Glog的安装与卸载分为两种情况,一种是使用apt,一种是使用源代码。
apt安装与卸载
//安装
sudo apt-get install libgoogle-glog-dev
//卸载
sudo apt-get remove libgoogle-glog-dev
源码安装与卸载
源码安装较为简单,在build目录下,
sudo make install
由于glog并没有提供uninstall命令,所以我的思路是去安装路径下把对应的include和lib都删除掉。
示例
sudo rm -rf /usr/local/include/glog/
sudo rm -rf /usr/local/lib/libglog*
如果不知道glog安装位置,不妨用用locate命令:
~$ locate glog
/usr/local/include/glog
/usr/local/include/glog/config.h
/usr/local/include/glog/log_severity.h
/usr/local/include/glog/logging.h
/usr/local/include/glog/raw_logging.h
/usr/local/include/glog/stl_logging.h
/usr/local/include/glog/vlog_is_on.h
/usr/local/lib/libglog.a
/usr/local/lib/cmake/glog
---------------------
版权声明:本文为CSDN博主「Stone_Yannn」的原创文章,遵循CC 4.0 by-sa版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/u012348774/article/details/80620685
1.下载
git clone git@github.com:google/glog.git或https://github.com/google/glog
2.配置
sudo apt-get install autoconf automake libtool
3.编译&安装
进入源码根目录
./autogen.sh
./configure
make -j 24
sudo make install
4.结果
make[1]: Entering directory '/home/xxx/Downloads/glog'
/bin/mkdir -p '/usr/local/lib'
/bin/bash ./libtool --mode=install /usr/bin/install -c libglog.la '/usr/local/lib'
libtool: install: /usr/bin/install -c .libs/libglog.so.0.0.0 /usr/local/lib/libglog.so.0.0.0
libtool: install: (cd /usr/local/lib && { ln -s -f libglog.so.0.0.0 libglog.so.0 || { rm -f libglog.so.0 && ln -s libglog.so.0.0.0 libglog.so.0; }; })
libtool: install: (cd /usr/local/lib && { ln -s -f libglog.so.0.0.0 libglog.so || { rm -f libglog.so && ln -s libglog.so.0.0.0 libglog.so; }; })
libtool: install: /usr/bin/install -c .libs/libglog.lai /usr/local/lib/libglog.la
libtool: install: /usr/bin/install -c .libs/libglog.a /usr/local/lib/libglog.a
libtool: install: chmod 644 /usr/local/lib/libglog.a
libtool: install: ranlib /usr/local/lib/libglog.a
libtool: finish: PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/sbin" ldconfig -n /usr/local/lib
----------------------------------------------------------------------
Libraries have been installed in:
/usr/local/lib
If you ever happen to want to link against installed libraries
in a given directory, LIBDIR, you must either use libtool, and
specify the full pathname of the library, or use the '-LLIBDIR'
flag during linking and do at least one of the following:
- add LIBDIR to the 'LD_LIBRARY_PATH' environment variable
during execution
- add LIBDIR to the 'LD_RUN_PATH' environment variable
during linking
- use the '-Wl,-rpath -Wl,LIBDIR' linker flag
- have your system administrator add LIBDIR to '/etc/ld.so.conf'
See any operating system documentation about shared libraries for
more information, such as the ld(1) and ld.so(8) manual pages.
----------------------------------------------------------------------
/bin/mkdir -p '/usr/local/share/doc/glog-0.3.5'
/usr/bin/install -c -m 644 AUTHORS COPYING ChangeLog INSTALL NEWS README README.windows doc/designstyle.css doc/glog.html '/usr/local/share/doc/glog-0.3.5'
/bin/mkdir -p '/usr/local/include/glog'
/usr/bin/install -c -m 644 src/glog/log_severity.h '/usr/local/include/glog'
/bin/mkdir -p '/usr/local/include/glog'
/usr/bin/install -c -m 644 src/glog/logging.h src/glog/raw_logging.h src/glog/vlog_is_on.h src/glog/stl_logging.h '/usr/local/include/glog'
/bin/mkdir -p '/usr/local/lib/pkgconfig'
/usr/bin/install -c -m 644 libglog.pc '/usr/local/lib/pkgconfig'
make[1]: Leaving directory '/home/xxx/Downloads/glog'
5.下载gflags
git clone git clone git@github.com:gflags/gflags.git或https://github.com/gflags/gflags
6.编译&安装
进入源码目录
cmake .
make -j 24
sudo make install
7.简单示例
#include <glog/logging.h>
//#include<gflags/flags.h>
int main(int argc,char* argv[]) {
// 要使用下面的api,需要安装额外的gflags,以及添加上面注释的头文件
// google::ParseCommandLineFlags(&argc, &argv, true);
// Initialize Google's logging library.
google::InitGoogleLogging(argv[0]);
FLAGS_log_dir = "./log";
//or google::SetLogDestination(google::GLOG_INFO, "./log_");
LOG(INFO) << "hello world";
return 0;
}
编译时加上glog的动态库
如:g++ test.cc -lglog -lgflags -lpthread -o test
log目录要事先创建好再在程序中指定才行,亲测。
Happy Ending Every Day