打算重新折腾下环境,看中了gtags ,可参考 Vim 8 中 C/C++ 符号索引:GTags 篇 ,先记录下编译过程

源码

下载并解压源码

最新的代码到官方下载页面获取 https://www.gnu.org/software/global/download.html

例如我下载的是

 wgets http://tamacom.com/global/global-6.6.3.tar.gz

下载后解压并进入目录

依赖

先安装依赖

sudo apt-get build-dep global
sudo apt-get install libncurses5-dev libncursesw5-dev

配置

再配置,配置的时候可以使用--prefix指定安装目录,考虑到我后续需要在无sudo权限的机器上使用,这里执行安装到用户目录下的usr

./configure --prefix=/home/zhuangqiubin/usr

编译

直接调用make即可

make

本以为make会很顺利,没想到出来一个报错

find.c: In function ‘findassign’:
find.c:557:2: error: ‘for’ loop initial declarations are only allowed in C99 mode
for (int i = 0; opts[i] != NULL; i++) {
^
find.c:557:2: note: use option -std=c99 or -std=gnu99 to compile your code
make[2]: *** [find.o] 错误 1
make[2]:正在离开目录 `/home/zhuangqiubin/usr/tools/global-6.6.3/gtags-cscope'
make[1]: *** [all-recursive] 错误 1
make[1]:正在离开目录 `/home/zhuangqiubin/usr/tools/global-6.6.3'
make: *** [all] 错误 2

懒得改编译参数,直接改下源码算了

vim gtags-cscope/find.c +557

	for (int i = 0; opts[i] != NULL; i++) {

改为

	int i;
for (i = 0; opts[i] != NULL; i++) {

重新执行一次make

安装

make install

安装后可找到

 ~/usr/bin/global
~/usr/bin/gtags
~/usr/bin/gtags-cscope

也可以确认下版本

 global --version

global (GNU GLOBAL) 6.6.3
Powered by Berkeley DB 1.85.
Copyright (c) 1996-2018 Tama Communications Corporation
License GPLv3+: GNU GPL version 3 or later <http://www.gnu.org/licenses/gpl.html>
This is free software; you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

本文链接:https://www.cnblogs.com/zqb-all/p/12005654.html

最新文章

  1. 慎用mutableCopy
  2. 什么是商业智能BI和实施BI的解决方案【转】
  3. RAC 环境下参数文件(spfile)管理
  4. Json.Net 使用属性定义日期的序列化格式
  5. Markdown和reStructuredText语法比较
  6. Django之Cookie与Session
  7. Mysql常用命令记录
  8. 2015第10周四-CSS小结
  9. ACM 阶乘的0
  10. Android studio 一些技术添加依赖,依赖库
  11. STL中的nth_element()方法的使用
  12. Fundebug前端JavaScript插件更新至1.6.0,新增test()方法用于测试
  13. 【Tensorflow】Tensorflow入门教程
  14. Java锁----Lock实现原理
  15. sscanf函数详解 &amp; 查找文件字符串
  16. 如何使用 Java 删除 ArrayList 中的重复元素
  17. 理解Fragment的生命周期
  18. 背景半透明rgba最佳实践
  19. Jboss,Tomcat 远程调试配置
  20. python_基于反射模拟Web框架路由系统

热门文章

  1. 原生JS通过类名(className)获取dom元素
  2. C语言基础——进制转换 / 数据表示
  3. 本地存储常用方式 localStorage, sessionStorage,cookie 的区别 和 服务器存储session
  4. sqlserver查询(子查询,全连接,等值连接,自然连接,左右连,交集,并集,差集)
  5. mysql插入的时间莫名的加一秒
  6. AVLTree的Python实现
  7. 链表-C语言实现
  8. 有趣的css3实战案例剖析—(背景动态渐变)
  9. 不止面试-JVM垃圾回收面试题详解
  10. Too many open files的四种解决办法【华为云技术分享】