windows下搭建Linux开发环境
以前一直都是安装的双系统来运行windows和linux,当想学习一下linux编程的时候就跑到linux下面去,做其他事情的时候就转到windows下面来。虽然在linux下也学会了使用wine,也能够运行source insight看看程序,或者打开winamp听听歌,不过毕竟不是windows环境,还是有很多不方便的地方,winamp最小化了居然还原的时候桌面上没有图标;采用source insight打开linux源码,中文注释却全是乱码,好不容易转好了字体,打开来,字体大小不一,根本无法查看,最后只好放弃。
无意间,用vmware安装好了ubuntu的图形化界面,才发现一切原来如此简单。以前虽然也用过vmware,不过以前电脑配置实在是太差,在vmware下面安装linux的图形化界面能安装成功,却无法使用,只好望洋兴叹。这次终于应用vmware把所有东西都搞定了,可以让我远离双系统了,也节省下了40G的硬盘空间。
1)vmware安装Ubuntu
很简单,感觉都没什么好说的,先安装vmware,windows安装程序,傻瓜式的安装,easy。然后到ubuntu网站去下载live cd或者dvd版本都行,个人建议下载live cd就可以了,安装以后基本的系统环境和常用软件都有了,当然IDE环境是没有的;不过我下载的dvd版本好像安装的时候也没有把IDE环境安装上去,还是我自己后来安装的,因此live cd和dvd在初始安装时,差别不大。
2)设置ubuntu环境
在vmware下面安装过的ubuntu图形界面,分辨率好像是800*600的,即使是全屏,也只能占这么大的屏幕,不是一般的郁闷;就像你面前有一顿美食,偏偏是锁在一个大铁笼子里的,而你的手能够到的却只有一两个菜,那个郁闷劲,确实让人难受。不过也没有关系,因为你没有安装vmware tools,所以你无法享受全屏带来的好处。安装过vmware tools以后,你就发现屏幕能根据具体大小进行自动调整了。不过我在安装vmware tools时,是出错了的,有一步编译出错了,不过最后还是安装成功了,只是在windows和linux之间共享的文件不能相互访问。不过,平时访问文件比较少,而且Ctrl+C/Ctrl+V,已经文件的复制、粘贴都能正常使用,因此对于我来说,这点缺憾我能接受,
由于安装的ubuntu环境只是简单的办公环境,都是一些基本软件,惟一能派上用场的可能就是open office,而开发环境方面,只有最基本的一些软件。个人比较习惯于用IDE来开发程序,因为可以省去很多其他的麻烦,比如手动编写makefile文件,运行cvs命令进行cvs操作,或者是采用gdb命令进行调试,这样可以更专注于程序编写。关于IDE开发还是采用最简单的vi开发,gcc编译,gdb调试,仁者见仁,智者见智,没有好坏,关键看个人喜好。与我而言,我安装好ubuntu以后,需要安装一个最适合的IDE环境,以便于开发;在ubuntu下面安装软件,现在也是越来越方便了,有图形化的添加/删除界面,很是方便,惟一需要说明的是找一个合适的软件源,否则你会发现安装软件真是一件郁闷的事情,看着你的电脑以400Bps的速度从网络上面下载软件包时,估计你恨不得把网络给拆了,顺便把你的网络运营商给臭骂一通,其实这一切的根源在于你没有找到合适的软件源,我采用的是电信的ADSL线路,找的是lupa网络的源,也是电信的线路,速度不是一般的快,真的是很幸福,源地址为:deb http://mirror.lupaworld.com/ubuntu intrepid main universe;如果你是教育网的网络或者用的是联通、有线通的网络,你可能需要另外找一个合适的源,ubuntu的源可以通过网址:https://wiki.ubuntu.com/Mirrors查询,一定可以找到适合你的源。
3)搭建IDE环境
本来以前都是用eclipse环境进行开发的,但是在ubuntu下运行eclipse实在是太慢了,而且我也不需要用到java的编译环境,只需要用到C编译环境就可以了,所以安装好eclipse以后试用一次以后就放弃了。在linux下常见的IDE其实也不少:anjuta、code::blocks、eclipse、netbeans、kdeveloper、slickedit;slickedit只有商业版,就不考虑了;kdeveloper太复杂,更适合于GUI程序开发,也不考虑。anjuta其实是不错的,编写小程序很方便,也能使用cvs,不过anjuta的工程用着不是太舒服,所以用了一次以后也放弃了;code::blocks是上学的时候就使用过的,更方面都挺让我满意的,然而惟一的一个缺点也是一个致命的缺点,就是我没有找到cvs功能,由于我在vmware下面开发的程序需要在保存到一个固定的盘上面,而linux和windows文件共享功能没有实现,通过cvs是一个十分方便的办法。最后,只好决定采用netbeans,应该说netbeans是一个十分不错的工具,功能越来越好,以前被大家诟病的界面现在也越来越美观了。
最初是通过ubuntu系统的添加/删除软件功能添加的netbeans,版本是6.1的,用起来也是很方便,但是让人觉得不舒服的是,netbeans主要还是用于java开发的,里面有太多java的残留痕迹,而且安装了太多的插件,自然程序运行起来也会慢一些,所以只好找更好的办法,于是跑到netbeans主页上面找了一通,找到6.5的安装文件下来,是sh格式的,可惜刚开始安装时安装失败,说是无法运行sh文件,后来才发现ubuntu下面sh文件的运行和linux下有区别,需要运行sudo sh *.sh进行安装。安装好以后,打开程序,导入以前6.1版本的文件,纯中文界面,比以前的中英结合的6.1版本好看多了。
4)构建CVS环境
CVS的环境构建很简单,以前在学校时就搭过实验室的CVS环境,因此这次也是轻车熟路,安装cvsnt,构建仓库,配置用户权限,OK,全搞定;再切换到linux下,配置CVSROOT环境变量,然后在netbeans下面进行导入、导出、更新、提交,一切正常。
由于netbeans既适用于windows平台,也能用于linux平台,所以心血来潮,又跑到windows下安装了netbeans,并且从cvs上把整个项目都下载了下来,查看、修改、提交,一切正常。
至此,基本搞定。