今天下午閑着沒事嘗試在自己的PC中的CentOS上裝一個Code::Blocks,因為是Linux菜鳥折騰了一下午才基本算搞定但依然有疑惑:
在網上各種谷哥度娘最后才發現還是官方的文檔最靠譜:看這里。
上面講的比較詳細,下面簡單總結一下安裝的步驟:
wxWidgets安裝
Code::Blocks的界面依賴於wxWidgets,所以需要先安裝它,至於wxWidgets是什么可以百度一下,具體我也不清楚。只知道wxWidgets是一個跨平台的GUI庫,而在Linux上它依賴於GDK+,GDK+就相當於函數庫,所以不用擔心它在你的系統中肯定是有的。事實上C::B真正使用的wxWidgets是wxGDK,所以我們首先需要安裝的其實是wxGDK庫,版本要求大於2.8.0,官方文檔說libwxGDK-2.8.3有點問題,所以不推薦。
下載wxGDK:到這里。注意選擇wxGDK,我下的是wxGTK-2.8.12.tar.gz。
解壓縮:
tar zxf wxGTK-2.8.12.tar.gz cd wxGTK-2.8.12
安裝:
mkdir build_gtk2_shared_monolithic_unicode cd build_gtk2_shared_monolithic_unicode ../configure --prefix=/opt/wx/2.8 \ --enable-xrc \ --enable-monolithic \ --enable-unicode make su make install exit
安裝的路徑是/opt/wx/2.8/。
設置環境變量:
export PATH=/usr/bin:/opt/wx/2.8/bin:$PATH
然后運行如下命令:
ldconfig source /etc/profile
ldconfig命令的作用是讓動態鏈接庫為系統所共享,source命令的作用簡單來說就是使得配置文件的修改立即生效而不需要重啟。
安裝Code::Blocks
在安裝之前還需要先確定一下有沒有安裝gcc編譯器,如果沒有yum安裝一下,很簡單:
yum install gcc-c++
注意:不是yum install g++,我一開始想當然了。
下載Code::Blocks:在這里。我下的是tar包。
解壓縮然后依次執行下面的命令:
bootstrap
./bootstrap
bootstrap命令的作用是設置configure腳本及其依賴關系,這個命令只需要執行一次,運行這個命令如果出現下面的錯誤:
./bootstrap: libtoolize: not found
說明機子上沒有安裝“libtool”,yum安裝下即可:
yum install libtool
重新運行
./bootstrap
可能會報錯
[root@localhost codeblocks-13.12]# ./bootstrap Found revision: '0' '' libtoolize: putting auxiliary files in `.'. libtoolize: copying file `./ltmain.sh' libtoolize: putting macros in AC_CONFIG_MACRO_DIR, `m4'. libtoolize: copying file `m4/libtool.m4' libtoolize: copying file `m4/ltoptions.m4' libtoolize: copying file `m4/ltsugar.m4' libtoolize: copying file `m4/ltversion.m4' libtoolize: copying file `m4/lt~obsolete.m4' configure.ac:86: warning: macro `AM_OPTIONS_WXCONFIG' not found in library configure.ac:87: warning: macro `AM_PATH_WXCONFIG' not found in library configure.ac:86: error: possibly undefined macro: AM_OPTIONS_WXCONFIG If this token and others are legitimate, please use m4_pattern_allow. See the Autoconf documentation. configure.ac:87: error: possibly undefined macro: AM_PATH_WXCONFIG
解決方法:
cp ../wxWidgets-2.8.12/wxwin.m4 /usr/share/aclocal
configure
./configure --with-wx-config=/opt/wx/2.8/bin/wx-config
注意:如果如果wxGDK不是安裝在默認的路徑這里需要--with-wx-config指定,否則make過程中會提示有error。
接下來安裝等待即可:
make make install
等安裝完成后,就可以在Application中找到C::B的圖標了。
我剛啟動時,會出現的錯誤是:
之后我用命令啟動codeblocks出現如下錯誤提示: codeblocks: relocation error: codeblocks: symbol _Z23wxHandleFatalExceptionsb, version WXU_2.8 not defined in file libwx_baseu-2.8.so.0 with link time reference
這個錯誤沒找到原因,不過我重啟電腦之后,這個錯誤就消失了,然后就會出現下面的錯誤,按照下面的步驟解決就可以使用了。
但是我安裝后點它卻發現啟動不起來,通過終端命令啟動發現錯誤信息如下:
意思是找不到libwx_gtk2u-2.8.s0.0這個動態鏈接庫,解決方法是設置LD_LIBRARY_PATH變量:
export LD_LIBRARY_PATH =/opt/wx/2.8/lib/
這種方式是臨時的設置環境變量,關閉shell就會失效,需要永久的設置環境變量參看這里這里,修改/etc/profile文件,加入下面這行:
export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/opt/wx/2.8/lib"
運行一下
source /etc/profile