Ubuntu 10.4下安装source navigator 一步一步教你如何安装

来源:互联网 发布:校风云软件 编辑:程序博客网 时间:2024/05/22 02:05

http://blog.csdn.net/xian0617/article/details/6371579

在Linux环境下呢,百度了下,看到了source navigator,不少人推荐使用这个工具用来查看源代码。它是red hat开发的一个IDE,但是大部分人均用它来阅读,而不是开发,总而言之,不多废话,看看在Ubuntu10.4下,如何安装 


步骤如下: 

1. 下载最新的source navigator包,URL为: http://sourceforge.net/projects/sourcenav/ 
我下的最新的包为sourcenav-6.0.tar.gz ,大小:18.9MB. 

2.进入到文件目录 

3.解压之,命令:tar zxvf sourcenav-6.0.tar.gz 

4. 准备安装咯,首先执行命令:sudo ./configure --prefix=/opt /sourcenav

5. 网上很多方法都是先make,然后看看是否可以通过,若是一次性安装成功了那还好说,否则会比较麻烦。这里推荐大家在make之前,先这样做: 
暂时先别make,因为大家的系统很多时候很多包没用安装,即使安装了也没关系,因为终端会提示,如果安装了只会检测更新,而不会重新安装它,因此, 
先安装libx11-dev。在终端下执行如下命令: 
sudo apt-get install libx11-dev 

6. 安装好之后,我们需要更改一个头文件。在目录/opt/sourcenav-6.0/tk/generic下,找到tk.h文件,打开它,然后参照下面的文本修改它。首先在tk.h文件中,找到如下所示的定义处,将以下语句中带有'-'号的在tk.h中注释起来(注释的方法是:在该语句的最前面加上//),将语句前面带有'+'号的语句复制到其中,其它的语句保持不变就ok,然后保存,退出。(如果不修改,编译后启动不了,报tk未成功安装) 

-#define VirtualEvent (LASTEvent) 
-#define ActivateNotify (LASTEvent + 1) 
-#define DeactivateNotify (LASTEvent + 2) 
-#define MouseWheelEvent (LASTEvent + 3) 
-#define TK_LASTEVENT (LASTEvent + 4) 
+#define VirtualEvent (MappingNotify + 1) 
+#define ActivateNotify (MappingNotify + 2) 
+#define DeactivateNotify (MappingNotify + 3) 
+#define MouseWheelEvent (MappingNotify + 4) 
+#define TK_LASTEVENT (MappingNotify + 5) 
#define MouseWheelMask (1L << 28) // 以下三条语句必须要有(包括本条),若原来没有,则需要添加! 
#define ActivateMask (1L << 29) // 
#define VirtualEventMask (1L << 30) // 
-#define TK_LASTEVENT (LASTEvent + 4) 

7. 接下来,执行命令:sudo make 

8.执行命令:sudo make install,结束后,在终端中键入snavigator便可运行source navigator了。如果还是提示有问题,请仔细检测下第6步的修改是否是正确的,这里稍微要留神。 

9.安装好之后的source navigator可从终端用命令行启动。若是不习惯,而喜欢从应用菜单开始,可以创建一个项目到应用菜单中。执行:sudo gedit /usr/share/applications/source-navigator.desktop 
将下面文本复制,并保存退出,便可在应用菜单中看到source navigator了。注意:除了Icon那一行之外,每行的后面不能有空格,否则有可能在应用菜单中无法显示source navigator项。 


[Desktop Entry] 
Name=Source-Navigator 
Comment=看代码的工具 
Exec=/opt/sourcenav/bin/snavigator 
Icon= 
Terminal=false 
Type=Application 
Categories=Application;Development;