一.什么是glog,什么是autogen.sh
glog是google开发的c++环境的日志组件。开发人员只需要使用autogen.sh,这个脚本会完成所有的automake以及autoconf的操作,虽然其中m4文件定义的宏非常重要,但是不需要开发人员完全读懂。
二.下载glog
下载地址:http://code.google.com/p/google-glog/downloads/list (需要翻墙,科学上网) 或者 https://github.com/google/glog
三.autogen.sh 的使用
在linux下面的大型工程很多都是makefile管理的,但是随着工程越来越大,makefile的编写又成了一个大工程,这个时候出现了两个比较流行的工具,cmake和configure,configure又衍生出来一套automake。
autogen.sh下载链接 https://sourceforge.net/projects/buildconf/
如果工程目录下有autogen.sh这个文件的时候应该这样处理工程
安装auto工具
sudo apt-get install autoconf automake libtool
然后正常的情况下直接运行脚本就没问题了(已经安装过就不需要安装了)
./autogen.sh
在运行后,可能遇到很多包和库没有安装,是环境问题,按照提示安装相应的库就好了,可以百度或者谷歌一下。
在然后脚本会生成一个 configure 的脚本,直接运行就好了
./configure //默认生成文件的路径
./configure --prefix=your_dir //如果要指定生成的文件路径,那么就在配置的时候输入这句
假设你的glog库的路径为/usr/local/lib/libglog.a,头文件路径为/usr/local/include/glog/logging.h,那么编译命令如下:
g++ test.cpp -o test -L/usr/local/lib -lglog -I/usr/local/include/glog
运行configure这个脚本后会生成一个makefile文件,这个时候就是make登场了
make
make install
四、异常情况处理
生成Makefile后make出现如下错误:
/bin/bash …/…/libtool --tag=CC --mode=compile gcc -DHAVE_CONFIG_H -I. -I…/… -g -O2 -MT FileList.lo -MD -MP -MF .deps/FileList.Tpo -c -o FileList.lo FileList.c
mv -f .deps/FileList.Tpo .deps/FileList.Plo
mv: 无法获取".deps/FileList.Tpo" 的文件状态(stat): 没有那个文件或目录
原因是automake的时候ltmain.sh没有配置好
执行:
libtoolize --automake --copy --force
以生成ltmain.sh
以下方法慎用!!!
在Ubuntu Server 12.04上执行apt-get install命令时,报如下warning
perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
LANGUAGE = “zh_CN:zh”,
LC_ALL = (unset),
LC_TIME = “zh_CN”,
LC_MONETARY = “zh_CN”,
LC_ADDRESS = “zh_CN”,
LC_TELEPHONE = “zh_CN”,
LC_NAME = “zh_CN”,
LC_MEASUREMENT = “zh_CN”,
LC_IDENTIFICATION = “zh_CN”,
LC_NUMERIC = “zh_CN”,
LC_PAPER = “zh_CN”,
LANG = “zh_CN.UTF-8”
are supported and installed on your system.
perl: warning: Falling back to the standard locale (“C”).
locale: Cannot set LC_CTYPE to default locale: No such file or directory
locale: Cannot set LC_MESSAGES to default locale: No such file or directory
locale: Cannot set LC_ALL to default locale: No such file or directory
搜了一下解决办法,参考这篇文章,在家目录下
1
$ vi .bashrc
在文件尾加入
1
export LC_ALL=C
保存后执行
1
$ source .bashrc
————————————————
版权声明:本文为CSDN博主「Sherlock_Homles」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/Sherlock_Homles/article/details/83019783