注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

liangxh2008的博客

 
 
 

日志

 
 

cscope在windows下使用mingw编译的方法  

2010-05-23 20:45:50|  分类: windows |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

http://blog.csdn.net/mslk/archive/2007/05/06/1598513.aspx


cscope在windows下使用mingw编译的方法


编译好的cscope15.6-win32在这里下载:
http://linux.chinaunix.net/bbs/attachment.php?aid=177425
http://sourceforge.net/project/showfiles.php?group_id=196604
 
作者: 刘凯 mslk.sa@gmail.com

关键字:cscope.exe,cscope15.6.exe,cscope windows,cscope win32,cscope mingw,修改编译cscope
摘要:使用mingw编译cscope win32 native的方法,本文以cscope最新版本15.6(20060930)为例。
  
因为最近想看一个大项目的源代码,两年前就知道cscope是个比较适合的辅助工具,当时看到cscope15.5是2003年的版本,觉得好久不更新太老了就没有用,今天看到了新版本15.6(20060930)还算比较新,就决定试试它到底有多爽。
在网上找了一下,发现windows下的版本都是很久以前的,就只好自己编译了。
下面说说我编译的方法:
一、下载安装gcc和一些必须的工具    
  cscope.sf.net下载最新的cscope-15.6.tar.gz。   
    www.mingw.org 上的gcc编译器工具集、bash3.1都要搞下来。
    gunwin32.sf.net 上的bison,flex,m4,make,PcRe,PdCurses,……
二、修改源代码
在cmd窗口中进入cscope-15.6的目录执行:
1、 sh configure –build=mingw32
需要等几分钟,在最后能看到信息:config.status: creating src/Makefile就行了  
1、 进入src目录
2、 打开编辑global.h,在文件最后#endif /* CSCOPE_GLOBAL_H */的前面,加上两行:
#define __DJGPP__
#define __MSDOS__
3、 打开编辑exec.c,注释掉41行://#include <sys/wait.h>
4、 打开编辑mypopen.c,注释掉37行://#include <sys/wait.h>
注释掉84、85行:
//if(fd != -1 && (fcntl(fd, F_SETFD, CLOSE_ON_EXEC) != -1))
//return(fd);
5、 打开编辑find.c,注释掉1160行://(void) sleep(3);
6、 打开编辑main.c,
修改360行orig_umask = umask(S_IRWXG|S_IRWXO);为:
orig_umask = umask(S_IRWXU);
修改363行if(mkdir(tempdirpv,S_IRWXU)) {为:
     if(mkdir(tempdirpv)) {
注释掉378行://signal(SIGQUIT, myexit);
注释掉381行://signal(SIGHUP, myexit);
注释掉404行://signal(SIGPIPE, SIG_IGN);/* | command can cause pipe signal */
修改895行if (sig == SIGQUIT) {为:
     if (sig == SIGTERM ||
    sig == SIGABRT ||
    sig == SIGBREAK){
修改175行fprintf(stderr, "%s: version %d%s\n", argv0,为:
        fprintf(stderr, "%s: version %d%s.\tCompiled by MSLK\n", argv0,
7、 打开编辑Makefile,
修改133行CURSES_LIBS = -lcurses为:
     CURSES_LIBS = -lpdcurses –lpcre
三、编译cscope,在cmd窗口中进入cscope-15.6/src的目录执行:
make –k
    cscope –V 瞧一下自己编译的最新版本,很爽吧。  
四、后记
cscope配合emacs试了一下,要把cscope-15.6\contrib\xcscope\xcscope.el放入emacs/site-lisp中, \M+x: cscope-find-this-symbol确实挺不错的,   比ctags的功能强多了,特别是多处出现时找着比\M+,、\M+.方便多了。
    cscope –h 可以看看帮助学习学习。
  


编译好的cscope15.6-win32在这里下载:
http://linux.chinaunix.net/bbs/attachment.php?aid=177425

http://sourceforge.net/project/showfiles.php?group_id=196604



本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/mslk/archive/2007/05/06/1598513.aspx
  评论这张
 
阅读(1340)| 评论(1)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017