Ubuntu 16.04 系统 gflags glog 安装
系统环境
- Ubuntu 16.04
- GCC 5.4
安装步骤
安装 GFlags
运行如下指令:
git clone https://github.com/gflags/gflags.git
cd gflags
mkdir build && cd build
cmake -DCMAKE_INSTALL_PREFIX=/usr/local -DBUILD_SHARED_LIBS=ON -DGFLAGS_NAMESPACE=gflags ../
make -j4
sudo make install
安装 GLog
安装编译工具:
sudo apt-get install autoconf automake libtool
运行如下指令安装:
git clone https://github.com/google/glog
./autogen.sh
./configure
make -j8
sudo make install
常见问题
1、使用 GLog 报错:libglog.a: error adding symbols: Bad value
在使用 GLog 的工程中遇到了如下错误:
/usr/bin/ld: /usr/local/lib/libglog.a(libglog_la-logging.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a shared object; recompile with -fPIC
/usr/local/lib/libglog.a: error adding symbols: Bad value
collect2: error: ld returned 1 exit status
产生该问题的可能原因是在 64位系统中,不能链接 GLog 生成动态库。修改方法是 GLog 需要使用如下方式编译,加入 -fPIC 编译选项:
./configure CPPFLAGS="-I/usr/local/include -fPIC" LDFLAGS="-L/usr/local/lib"
代替:
./configure
2、错误:undefined reference to `google::FlagRegisterer::FlagRegisterer
如果你在编译 GLog 时遇到如下错误:
undefined reference to 'google::FlagRegisterer::FlagRegisterer'
可以尝试先卸载 GFlags:
sudo apt-get purge libgflags-dev
然后重新编译
另一种可能的解决方案是,在编译 GLog 时请使用:
./configure CPPFLAGS="-I/usr/local/include" LDFLAGS="-L/usr/local/lib"
代替:
./configure
3、错误:Make error: failed to link with libgflags.a
产生该问题的原因有可能是需要使用动态库方式编译 GFlags
将 GFlags 编译时选项改成动态库:
cmake .. -DBUILD_SHARED_LIBS=ON
并重新编译 GFlags 和 GLog。
4、错误:something wrong with flag ‘flagfile’ in file ‘XXX.cc’
请参照 3 中的解决方案重新编译 GFlags 和 GLog。
本博客参考自
- http://www.liuxiao.org/2018/04/glog-gflags-%E7%9A%84%E5%AE%89%E8%A3%85/
- https://blog.csdn.net/zero_s_qiu/article/details/90665706
Ubuntu 16.04 系统 gflags glog 安装相关推荐
- Ubuntu 16.04系统实用插件安装方法
Ubuntu 16.04系统实用插件安装方法 Ubuntu 16.04 系统实用插件安装方法链接 搜狗输入法 链接: https://blog.csdn.net/u010648921/article/ ...
- Ubuntu 16.04系统中编译安装FFmpeg 4.2.1(Android NDK r20)
1.下载FFmpeg 4.2.1的源码,下载Android NDK r20,安装yasm sudo apt-get install yasm 2.解压缩源码包和Android NDK 3.修改ffmp ...
- Pwn环境配置(二)——VMware虚拟机安装Ubuntu 16.04系统
Pwn环境配置(二) 安装Ubuntu 16.04系统,至于为什么非要是Ubuntu 16.04系统呢,我也不太清楚,只知道大佬们用的都是这个.好像是,它兼容性好之类的吧- 下面步入正题开始安装, 首 ...
- 在linux搭建wiki教程,在Ubuntu 16.04系统上安装WikkaWiki
一.WikkaWiki介绍 WikkaWiki是一个灵活的.兼容标准的.轻量级的.平台独立的开源Wiki引擎,它使用PHP语言开发,后端存储采用了MySQL数据库.WikkaWiki的设计目标是速度快 ...
- linux升级安装失败,更新Ubuntu 16.04系统中安装Adobe Flash更新失败的解决
最近在更新 Ubuntu 16.04系统的时候,发现总是在安装 Adobe Flash更新的时候失败,提示如下信息: 正在处理用于 update-notifier-common (3.168.5) 的 ...
- 安装ubuntu 16.04系统
安装ubuntu 16.04系统 下载源及poweriso–制定U盘启动 源 http://releases.ubuntu.com/16.04.4/ poweriso http://www.power ...
- 使用U盘安装Ubuntu 16.04 系统
使用U盘安装Ubuntu 16.04 系统 安装Ubuntu的方法有很多,本文介绍的是U盘安装Ubuntu的方法. 1.首先准备一个U盘,通常CD版2G就够了,而DVD版需要4G,插入U盘后,如果U盘 ...
- Ubuntu 16.04系统中利用CUDA安装更新NVIDIA显卡驱动程序的方法
严正声明:本文系作者davidhopper原创,未经许可,不得转载. 在ThinkPad系列笔记本电脑中使用过Ubuntu 16.04系统的同学都知道,NVIDIA显卡驱动程序特别难安装.以我使用的T ...
- 在Ubuntu 16.04.6 LTS上安装python3.7和pip3后出现Command '('lsb_release', '-a')' 出错问题的解决方法
在Ubuntu 16.04.6 LTS上安装python3.7和pip3后出现Command '('lsb_release', '-a')' returned non-zero exit status ...
最新文章
- 生成窄带信号_房间冲激响应RIR原理与模拟生成方法
- javascript王者归来--属性和方法的类型
- java二次雷达编码地址
- 正常访问静态文件,不要找不到静态文件报404
- nagios监控3306端口
- java商品管理系统(增删改查)
- python安装pyaudio
- CCNA考试题库中英文翻译版及答案5
- 优化命令之top——实时显示进程动态/查看进程信息
- ubuntu安装laravel,Docker is not running.
- 【python】【爬虫】爬取电子书《红星照耀中国》
- 构建安全新模式,零信任如何破局 ?
- 【已解决】LaTeX 调整段落之间的间距 (包含:只调整某一个section或者subsection中的段落间距)
- 拓嘉辰丰电商:拼多多宝贝排名查询方法
- Android开发实用技巧之一:全局获取Context的技巧
- android异步加载视频缩略图,Android 视频缩略图的缓存机制和异步加载
- java meta_java面试:你真的知道metaspace??
- 范美忠的逃生本能需要一种理性伪饰吗?
- window关闭临时ipv6地址、开启临时ipv6地址
- 【Python】PyQT5+爬虫实现简单音乐下载器
热门文章
- opencv中的人脸检测案例
- 搬家后计算机总重启,电脑老是开机后不久(几分钟)自动重启,重启一两遍后就可以正常运行...
- mysql+分表+1168,MySQL使用MERGE進行分表實現
- 计算机开机自动进入bios,电脑开机自动进入bios界面的原因及解决办法
- lingo标准模型与编程(附习题、代码)
- mysql数据库总是自动关闭_急求关于mysql数据库自动停止的问题
- 为什么要研究引起潜在大流行病的病原体?
- UILabel根据字数计算高度,宽度,行数
- linux php-fpm 配置文件,linux下php-fpm开启与关闭方法
- Scratch编程 烧脑算法——换位密码