Code::Blocks在Debian下的绿色安装

Code::Blocks在Debian下的绿色安装
不想看废话的直接下载用就是了。我已经打包设置好了。^^
简短描述:
媲美于VC的C++ IDE集成开发环境,具有较完善的自动补全功能。基于官方的Debian 8.02最新版本。已包含libwx2.8。(Debian etch源上的是2.6)。无须root权限安装,解压即可使用。

安装步骤:
解压到自己安排的位置。cd到相关目录,运行sh脚本setup.sh就可以了。将生成sh脚本codeblocks,可直接通过该脚本启动。(实际上就是设置了LD_LIBRARY_PATH和CODEBLOCKS_DATA_DIR)

下载地址:
http://www.fs2you.com/zh-cn/files/7de0ba0c-428f-11dd-812f-00142218fc6e/

下面介绍自己进行绿色安装的过程。
首先到Code::Blocks的项目页下载最新的版本8.02。
http://www.codeblocks.org/
当然,我用的是Debian,下载的就是这个版本:codeblocks-8.02debian-i386.tar.gz。
解压后是一堆deb包,小心的把这些包解压到某个位置下的usr目录下。(注意,不是默认的/usr目录)。然后这个文件夹的名字不重要,是可以更换的。比如,我就换成了codeblocks。这时候,这个目录下应该有这些文件夹:bin, include, lib, share。其中,可执行文件在bin目录下。cd到bin目录下,检查codeblocks的依赖库及其路径:
ldd codeblocks
然后可以看到一大堆没有找到的so:
        linux - gate.so. 1   =>   ( 0xffffe000 )
        libgtk
- x11 - 2.0 .so. 0   =>   / usr / lib / libgtk - x11 - 2.0 .so. 0  ( 0xb7ca1000 )
        libgdk
- x11 - 2.0 .so. 0   =>   / usr / lib / libgdk - x11 - 2.0 .so. 0  ( 0xb7c20000 )
        libatk
- 1.0 .so. 0   =>   / usr / lib / libatk - 1.0 .so. 0  ( 0xb7c06000 )
        libgdk_pixbuf
- 2.0 .so. 0   =>   / usr / lib / libgdk_pixbuf - 2.0 .so. 0  ( 0xb7bf0000 )
        libpangocairo
- 1.0 .so. 0   =>   / usr / lib / libpangocairo - 1.0 .so. 0  ( 0xb7be8000 )
        libXext.so.
6   =>   / usr / lib / libXext.so. 6  ( 0xb7bd9000 )
        libXinerama.so.
1   =>   / usr / lib / libXinerama.so. 1  ( 0xb7bd6000 )
        libXi.so.
6   =>   / usr / lib / libXi.so. 6  ( 0xb7bce000 )
        libXrandr.so.
2   =>   / usr / lib / libXrandr.so. 2  ( 0xb7bcb000 )
        libXcursor.so.
1   =>   / usr / lib / libXcursor.so. 1  ( 0xb7bc2000 )
        libXfixes.so.
3   =>   / usr / lib / libXfixes.so. 3  ( 0xb7bbd000 )
        libpango
- 1.0 .so. 0   =>   / usr / lib / libpango - 1.0 .so. 0  ( 0xb7b82000 )
        libcairo.so.
2   =>   / usr / lib / libcairo.so. 2  ( 0xb7b20000 )
        libfreetype.so.
6   =>   / usr / lib / libfreetype.so. 6  ( 0xb7ab6000 )
        libz.so.
1   =>   / usr / lib / libz.so. 1  ( 0xb7aa2000 )
        libfontconfig.so.
1   =>   / usr / lib / libfontconfig.so. 1  ( 0xb7a77000 )
        libpng12.so.
0   =>   / usr / lib / libpng12.so. 0  ( 0xb7a54000 )
        libXrender.so.
1   =>   / usr / lib / libXrender.so. 1  ( 0xb7a4b000 )
        libX11.so.
6   =>   / usr / lib / libX11.so. 6  ( 0xb795f000 )
        libgobject
- 2.0 .so. 0   =>   / usr / lib / libgobject - 2.0 .so. 0  ( 0xb7925000 )
        libgmodule
- 2.0 .so. 0   =>   / usr / lib / libgmodule - 2.0 .so. 0  ( 0xb7922000 )
        libglib
- 2.0 .so. 0   =>   / usr / lib / libglib - 2.0 .so. 0  ( 0xb7890000 )
        librt.so.
1   =>   / lib / tls / i686 / cmov / librt.so. 1  ( 0xb7887000 )
        libcodeblocks.so.
0   =>  not found
        libwx_gtk2u_richtext
- 2.8 .so. 0   =>  not found
        libwx_gtk2u_aui
- 2.8 .so. 0   =>  not found
        libwx_gtk2u_xrc
- 2.8 .so. 0   =>  not found
        libwx_gtk2u_qa
- 2.8 .so. 0   =>  not found
        libwx_gtk2u_html
- 2.8 .so. 0   =>  not found
        libwx_gtk2u_adv
- 2.8 .so. 0   =>  not found
        libwx_gtk2u_core
- 2.8 .so. 0   =>  not found
        libwx_baseu_xml
- 2.8 .so. 0   =>  not found
        libwx_baseu_net
- 2.8 .so. 0   =>  not found
        libwx_baseu
- 2.8 .so. 0   =>  not found
        libpthread.so.
0   =>   / lib / tls / i686 / cmov / libpthread.so. 0  ( 0xb7872000 )
        libdl.so.
2   =>   / lib / tls / i686 / cmov / libdl.so. 2  ( 0xb786e000 )
        libstdc
++ .so. 6   =>   / usr / lib / libstdc ++ .so. 6  ( 0xb7789000 )
        libm.so.
6   =>   / lib / tls / i686 / cmov / libm.so. 6  ( 0xb7764000 )
        libgcc_s.so.
1   =>   / lib / libgcc_s.so. 1  ( 0xb7759000 )
        libc.so.
6   =>   / lib / tls / i686 / cmov / libc.so. 6  ( 0xb7627000 )
        libpangoft2
- 1.0 .so. 0   =>   / usr / lib / libpangoft2 - 1.0 .so. 0  ( 0xb75fc000 )
        libXau.so.
6   =>   / usr / lib / libXau.so. 6  ( 0xb75f9000 )
        libexpat.so.
1   =>   / usr / lib / libexpat.so. 1  ( 0xb75d9000 )
        libXdmcp.so.
6   =>   / usr / lib / libXdmcp.so. 6  ( 0xb75d3000 )
        
/ lib / ld - linux.so. 2  ( 0xb7f9c000 )
其中libcodeblocks.so.0是Code::Blocks自带的,已经在lib目录下了,应为我们没有指定LD_LABRARY_PATH路径而找不到。
其它库是属于libwx的。在源中搜索一下:
aptitude search libwx
很不幸,源里面只有2.4和2.6版本的。所以,我们只好去wx官方去下载2.8的库。
http://www.wxwidgets.org/
我们在:
http://apt.wxwidgets.org/dists/etch-wx/main/binary-i386/
下找到我们需要的共享库文件:
libwxbase2.8-0_2.8.7.1-0_i386.deb libwxgtk2.8-0_2.8.7.1-0_i386.deb 
(真快,今天已经更新2.8.8.0了-_-!!!应该也没问题,不过我没试)
把解压出来的so和s-link都放到codeblocks/lib/文件夹下面。最后,我们设置LD_LABRARY_PATH就可以了。
可以直接用这个脚本设置:
# !/ bin / sh

echo 
" #!/bin/sh "   >  codeblocks
echo 
" LD_LIBRARY_PATH=$PWD/lib CODEBLOCKS_DATA_DIR=$PWD $PWD/bin/codeblocks "   >>  codeblocks
chmod 
+ x codeblocks
生成的启动脚本应该类似这样:($PWD表示当前目录,也就是codeblocks所在的位置。)
# !/ bin / sh
LD_LIBRARY_PATH
=/ home / lf426 / app / code / codeblocks / lib CODEBLOCKS_DATA_DIR =/ home / lf426 / app / code / codeblocks  / home / lf426 / app / code / codeblocks / bin / codeblocks
通过这个脚本就可以启动Code::Blocks了。整个过程不需要root权限哦(你不会想当root敢死队吧。^^)

你可能感兴趣的:(Code::Blocks在Debian下的绿色安装)