昨天终于把系统从Sarge升级到Etch了,改变有点大,有点不适应。第一感觉就是漂亮,接下来就是不适应,apt-setup命令没了,apt-update和base-config之类也没了,xserver-xfree86也并入xserver-xorg了。firefox也用不起来来,到网上查了一下,原来是Debian为了它的精神理念,发行版中不再含有公司注册商标的firefox,并且重新从源代码编译并更名为Iceweasel。这倒也是,世上最“纯正”的Linux就是Debian了。虽然有人说多一个选者没什么不好的,但是我觉得这又何必,是好是坏还未知,说不定这又是一个混乱的开始,开源社区和自由软件社区本身的规则上就有冲突,从法律的角度上看,这还是不可容忍的。当然,为了理念这没错,不然Debian也未必能这么吸引用户,拥有这么多支持者,至少本人冲着这个“纯”字,就喜欢Debian。当然还有Debian是Ian Murdock和其妻子名字合并而成的原因,觉得这很美好。顺便贴一下GUN的Free as in Freedom哲学:
The freedom to run the program, for any purpose (freedom 0).
The freedom to study how the program works, and adapt it to your needs (freedom 1). Access to the source code is a precondition for this.
The freedom to redistribute copies so you can help your neighbor (freedom 2).
The freedom to improve the program, and release your improvements to the public, so that the whole community benefits (freedom 3). Access to the source code is a precondition for this.
今天编译了一下CODE::BLOCKS,Linux平台下好的C/C++ IED没体会到什么很好的,感觉这个还不错。本来计划深入学习一下vim的,刚折腾得有点上路吧,麻烦的事就来了。辞职、面试、入职、换城市,心情的也烦躁,电脑又不在身边,转眼间两个半月过去后,慢慢的又有点淡忘了。现在好像也懒得瞎捣鼓了,这很大一部分也是觉得CODE::BLOCKS不错的原因吧。
之前也用过一个号称可以和Source Insight媲美的kscope,可能是我还没深入使用吧,反正觉得不过如此,而且觉得它调用cscope跳转并不准确,不知道是不是我什么地方配置的不对。由于它只支持C,所以也懒得去弄。当然现在CODE::BLOCKS也有不足,但是他更新速度快,觉得它会变得很好的。
编译过程主要参照《Installing Code::Blocks from source on Linux》这篇文章。这里只是大概的提一下编译过程。
首先,下载源代码:svn checkout svn://svn.berlios.de/codeblocks/trunk,当然还有其他方式。
其次,下载wxWidgets库,至少2.6.*版本吧,我用的是2.8.6。
再次就是编译wxWidgets库,安装上必须的,如:gtk+2、glib2、xml2之类的开发库,反正根据提示,把缺少的开发库安装上。configure命令参考如下:./configure --prefix=/opt/Libs/wxWidgets --enable-xrc --enable-monolithic --enable-unicode。想了解各个选项的含义,看configure帮助,unicode支持是必须的。make、make install就没什么好说的了。
接下来要设置wx-config路径,我在/opt/Libs/wxWidgets下,自然把/opt/Libs/wxWidgets/bin添加到PATH中。当然要把库文件目录也要添加到ldconfig中去。修改/etc/ld.so.conf添加/opt/Libs/wxWidgets/lib,把/opt/Libs/wxWidgets/lib添加到LD_LIBRARY_PATH中也一样。
剩下的工作就是生成CODE::BLOCKS的configure文件、运行它并编译安装了。好像CODE::BLOCKS要求GCC至少4.1.1,Etch上是4.1.2,所以这自然不是问题。运行CODE::BLOCKS目录下的bootstrap,如果有这样warning: macro `AM_OPTIONS_WXCONFIG' not found in library警告产生(反正我有),可以以这种方式设置环境变量“ACLOCAL_FLAGS”来修正:export ACLOCAL_FLAGS="-I `wx-config --prefix`/share/aclocal"。一劳永逸的方法是运行命令:echo `wx-config --prefix`/share/aclocal >> /usr/share/aclocal/dirlist。接着和wxWidgets类似,执行configure、make、make install就行了。configure过程中,碰到缺少的工具、库之类,根据提示安装上就行了,呵呵。
一切OK后,就可以享受CODE::BLOCKS了。呵呵。本来还想贴上几张图片,无奈,我还不会在CSDN这鸟BLOG上贴图,算了,不贴了,呵呵。
哦,对了,Etch还有一个好处是我的硬件它能自动识别了,我的显示器、显卡及无线网卡等,他都能自动识别出型号了,虽然无线网卡现在我还没有用它。我也懒得去折腾它,反正有线用得也挺好的,每个人估计都有这惰性,呵呵。但是什么时候空闲了,我还是要把他给用起来的,呵呵。打完收工,出去逛逛,十二点过后是我出去闲逛的时间,呵呵。生活很苦,但要像Tux一样永远面带微笑,而且还要像它一样的笑容可掬,呵呵。