zoukankan      html  css  js  c++  java
  • cscope无法索引代码树之外的软链接

    http://blog.csdn.net/sudolee/article/details/9052291

    背景:为什么非要使用cscope?不用ctags?

    尽管ctags可以索引软链接,但是,ctags不能查找“调用者”,比如:你想看看某个函数在哪些位置被调用了, .etc


    1, 卸载cscope

    2, 下载cscope源代码:

    1. http://sourceforge.net/projects/cscope/files/cscope/15.8a/  

    p.s 我下载的15.8a,在debian sid使用正常

    3, 修改如下:

    1. diff --git a/src/dir.c b/src/dir.c  
    2. index cf9330d..e73d86f 100644  
    3. --- a/src/dir.c  
    4. +++ b/src/dir.c  
    5. @@ -651,7 +651,7 @@ accessible_file(char *file)  
    6.      if (access(compath(file), READ) == 0) {  
    7.         struct stat stats;  
    8.    
    9. -       if (lstat(file, &stats) == 0  
    10. +       if (stat(file, &stats) == 0  
    11.             && S_ISREG(stats.st_mode)) {  
    12.             return YES;  
    13.         }  

    原因如下: man stat
           stat() stats the file pointed to by path and fills in buf.
           lstat() is identical to stat(), except that if path is a symbolic link, then the link itself is stat-ed, not the file that it refers to.

    4, 接下来就是通用的方法:

    1. ./configure  
    2. make -jN  
    3. sudo make install  

    5, 试试效果:

    1. find -L . | grep -E '.c$|.h$|.S$|.cpp$|.java$|.lds$|.ld*|.chh$|.cc$' > cscope.files  
    2. cscope -Rbqk  

    6, vim....

    编译过程中可能碰到的问题:

    sudo apt-get install libncursesw5-dev

    sudo apt-get install libncurses5-dev

    sudo apt-get install byacc

    sudo apt-get install flex

  • 相关阅读:
    [题解] [HNOI2014] 世界树
    [luogu 5301][bzoj 5503] [GXOI/GZOI2019] 宝牌一大堆
    [HDU4507]吉哥系列故事——恨7不成妻
    [国家集训队]聪聪可可
    [模板]点分治
    [2018.8.12]模拟赛B组
    JZOJ5804. 【2018.08.12提高A组模拟】简单的序列
    2018.8.10模拟赛
    2018.8.8模拟赛
    [2018.8.6]模拟赛
  • 原文地址:https://www.cnblogs.com/jingzhishen/p/3623044.html
Copyright © 2011-2022 走看看