分类:
2012-12-18 08:36:14
原文地址:Ubuntu11.04下KScope的安装 作者:txgc_wm
1.安装kde环境支持:
在ubuntn11.04下,不能直接安装kscope1.6.2,先要安装kde环境支持,如下步骤:
apt-get install kdelibs (解决kde-config not found)
sudo apt-get install xorg-dev (解决error:can't find X includes?)
sudo apt-get install kdelibs4-dev kdelibs4c2a (解决no KDE headers installed)
本人在安装这些库的时候,也遇到了一些问题,安装的时候出现了:0% [Waiting for headers],然后就不动了。google了下,说是在apt-get install的过程中被中断过(确实是这样过),按照网上说的,把目录下的/var/cache/apt/archives的一些文件删除掉了,特别是/var/cache/apt/archives/partial目录下的文件。
2. 下载kscope-1.6.2
下载地址:
下载后,解压缩,并进入到kscope-1.6.2的源码根目录中。
3. 配置.configure
用命令./configure --without-arts进行config
这个时候,会提示找不到这个,找不到那个,按照提示,将所需要的软件包都 安装上。列出几个如下:
错误1: configure: error: C++ preprocessor "/lib/cpp" fails sanity check
解决方法:sudo apt-get install build-essential ,然后再./configure --without-arts
错误2: configure: error: Lex/Flex is required in order to build KScope
解决方法:sudo apt-get install flex,然后再./configure --without-arts
错误3: configure: error: Yacc/Bison is required in order to build KScope
解决方法:sudo apt-get install bison,然后再./configure --without-arts
安装过程中,只记录了这些错误,如果还出现其它错误,google下,一般都能找到。
4. make
make时会出现的问题:
错误1: /usr/bin/ld: cannot find -lkateinterfaces
make时提示找不到 -lkateinterfaces,不用担心,该参数是要找动态链接库,其实没有动态链接库,只有静态链接库,该库位于/usr/lib/libkatepartinterfaces.la,这个时候,切换到src目录下:
[ /home/lanch/Download/kscope-1.6.2]$cd src
[ /home/lanch/Download/kscope-1.6.2/src]$grep -n -lkateinterfaces Makefile(evisie注:这行命令并没有起到实际作用,所以我直接在/src/Makefile文件中替换了 -lkateinterfaces,查找方法和windows类似,Ctrl+F)
将Makefile文件中使用-lkateinterfaces 的地方,替换为/usr/lib/libkatepartinterfaces.la,接着,退回到上层目录cd .. ,进行make,就会大功告成。
5. sudo make install
这个过程中没现过错误。
6. 安装cscope,ctags,graphviz
sudo apt-get install cscope ctags graphviz
到此安装kscope1.6.2完成,可以在终端中输入kscope打开kscope1.6.2了,当然你可以作成一个快捷方式,这里就不再说明。
使用了下,kscope1.6.2总体不不错,速度比eclipse快多了,功能和界面比source navigator强多了…
在终端输入kscope,第一次打开后需要设置依赖工具的路径,按照下图设置即可:
这时打开的源码中文有乱码,通过设置Tools-Encoding为Chinese Simplified(gb2312)后解决
若
要查看linux c编译的项目,则选择Project-New
Porject,然后添加项目中所有的.c和.h,.pc为后缀的源文件即可,若要使用cscope的call function或者call
graph功能,则要先点击rebuild database生成相应的tags文件才行,看来和用Vim配置ctags插件是一样的。
由于项目庞大,函数调用关系复杂,故只展示其中一个子函数被main函数调用的函数调用图,生成结果如下:
可以看出, 当函数调用关系较复杂时,生成调用关系图已经没有意义,而Kscope自带的过滤功能也不完善
可惜的是,如此好的开源项目作者没有继续维护下去了,不得不说是Linux用户的遗憾。