在利用張樂博士的最大熵模型工具包(Maximum Entropy Modeling Toolkit for Python and C++)和條件隨機場的經典工具包CRF++(CRF++: Yet Another CRF toolkit)進行分詞的時候,發現工具包不能正常安裝,從報出的錯誤推測是gcc的版本較低,上述工具包發布於2011年,推測使用了較新的C++11標准。我們知道C++11標准開始支持各種新的特性。本人測試用的Ubuntu10.04默認的是使用gcc4.4.3,而只有gcc4.7才開始支持C++11,使用如下辦法升級Ubuntu 10.04下的gcc和g++:
1.更新Ubuntu的gcc和g++版本,依次進行如下操作:
sudo add-apt-repository ppa:ubuntu-toolchain-r/test
sudo apt-get update
sudo apt-get install gcc-4.7
sudo apt-get install g++-4.7
2.本人安裝過程中提示有存在依賴關系的文件未安裝,gcc-4.6-base,則先安裝該軟件:
sudo apt-get install gcc-4.6-base
3.升級完成使用gcc --version
(1)若顯示有多個軟件包包含gcc,讓選擇一個安裝。可是進行gcc重新又顯示已經安裝。進入/usr/bin/目錄后發現gcc-4.7和g++-4.7都存在,但是未發現他們的鏈接gcc和g++(其實我們平常使用的gcc和g++都是指向具體版本例如gcc-4.7和g++-4.7的符號鏈接哦),因此重建符號鏈接即可
cd /usr/bin
sudo ln -s gcc-4.7 gcc
sudo ln -s g++-4.7 g++
(2)若顯示版本依然是4.4.3(或者你的舊版本號),並沒有把4.7版設置為默認的gcc的鏈接文件,進入/usr/bin/把gcc這個文件刪除,建立鏈接到gcc-4.7(g++類似):
cd /usr/bin
sudo rm gcc
sudo ln -s gcc-4.7 g++
sudo rm g++
sudo ln -s g++-4.7 g++
4.現在編譯並執行例程,ok!編譯通過了!