Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1337444
  • 博文数量: 482
  • 博客积分: 13297
  • 博客等级: 上将
  • 技术积分: 2890
  • 用 户 组: 普通用户
  • 注册时间: 2009-10-12 16:25
文章分类

全部博文(482)

文章存档

2012年(9)

2011年(407)

2010年(66)

分类: LINUX

2011-09-05 22:09:53

编译好的cscope15.6-win32在这里下载:

 
作者: 刘凯 mslk.sa@gmail.com
关键字:cscope.exe,cscope15.6.exe,cscope windows,cscope win32,cscope mingw,修改编译cscope
摘要:使用
mingw编译cscope win32 native的方法,本文以cscope最新版本15.620060930)为例。
 
因为最近想看一个大项目的源代码,两年前就知道cscope是个比较适合的辅助工具,当时看到cscope15.5是2003年的版本,觉得好久不更新太老了就没有用,今天看到了新版本15.6(20060930)还算比较新,就决定试试它到底有多爽。
在网上找了一下,发现windows下的版本都是很久以前的,就只好自己编译了。
下面说说我编译的方法:
一、下载安装gcc和一些必须的工具   
 
下载最新的cscope-15.6.tar.gz  
   
上的gcc编译器工具集、bash3.1都要搞下来。
    上的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
4、 打开编辑mypopen.c,注释掉37行://#include
注释掉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://blog.csdn.net/mslk/article/details/1598513

阅读(1171) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~