kscope是linux下的一个像Source Insight那样方便阅读内核源码的软件。知道kscope不错,跟Source Insight有点类似,功能也不亚于它。先前按照网上说的安装方法安装过,但运行不起来,说是缺少.so文件,由于找不到,只能作罢!后来在linux下安装了eclipse和source navigator。虽然eclipse的图形界面和功能都非常不错,但发现eclipse在虚拟机上运行的很慢,特别是indexer的时候,非常之慢,令人受不了;而source navigator则太简单,看到它的界面就让人拒之于千里之外。
今天,再次重新kscope,报着再试试的态度进行安装。
与前次安装不同,这次是用源码进行编译再安装的,而且通过网上google的资料安装成功了,这很令我兴奋。在此把我的经验记录下来,一来是防备以后再需要,二来跟大家分享分享。
kscope有较多版本,但一般公认为1.6.2版本最好用,所以本次编译安装的是kscope1.6.2。
1. Kscope 特点
Kscope 是 Linux 平台上的代码查看工具.Kscope 特点主要有(以下摘自网络):
1). 它号称是代码编辑环境(source-editing environment),而不是IDE。我不用在建立 Kscope 项目时烦心地去选择项目类型、编译器、编译选项等等。编译我有 Makefile,我就是找个工具看看代码,用得着那么麻烦吗。 建立 Kscope 项目时只需要干两件事:选择项目名、项目保存地址和添加源文件。
2). 它不会在源文件目录下建立一堆乱七八糟的文件,影响市容。我记得 Eclipse、CodeBlocks 等都会把项目信息保存在源文件目录下,而 Kscope 的项目保存位置可以自己选,比如我一般都保存在 workspace/kscope 目录下面,这样对要查看的源文件目录没有任何影响。因此 Kscope 的项目和源文件基本没关系,我可以添加任何位置的源文件到某个项目中去。
3). 它不会去读非指定类型的文件。这是针对 Eclipse 来说的,每次在 Eclipse 项目中搜索时,一堆 .svn 目录中文件的结果让我感觉非常闹心,两年没用不知道现在的 Eclipse 是不是更智能点儿了,但是 Eclipse 改不了的毛病就是慢和吃内存。
4). 它支持代码查看的基本功能。其实我最常用的也就那么几个功能:语法高亮、同时打开多文件、整个项目中搜索字符串、查找函数定义位置和引用、项目文件列表+搜索。在这些条上据说 Windows 下的 SourceInsight 做得更好,但我没用过没有发言权。
2. 系统环境
VM7.0+ubuntu9.10;
3. 安装步骤
3.1. 安装kde环境支持
在ubuntn9.10下,不能直接安装kscope1.6.2,先要安装kde环境支持,如下步骤:
apt-get install xorg-dev (解决error:can't find X includes?)
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目录下的文件。
3.2. 下载kscope-1.6.2
下载地址:kscope1.6.2 (545)
下载后,解压缩,并进入到kscope-1.6.2的源码根目录中。
3.3. 配置.configure
用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下,一般都能找到。
3.4. make
make时会出现的问题:
错误1: /usr/bin/ld: cannot find -lkateinterfaces
make时提示找不到 -lkateinterfaces,不用担心,该参数是要找动态链接库,其实没有动态链接库,只有静态链接库,该库位于/usr/lib/libkatepartinterfaces.la,这个时候,切换到src目录下:
[ /home/lanch/Download/kscope-1.6.2/src]$grep -n -lkateinterfaces Makefile
将Makefile文件中使用-lkateinterfaces 的地方,替换为/usr/lib/libkatepartinterfaces.la,接着,退回到上层目录cd .. ,进行make,就会大功告成。
3.5. sudo make install
这个过程中没现过错误。