自從佟哥出差到現在馬上就一個月了,我終於在今天下午把程式跑通了,研究linux真是步步坎坷,在此做個總結。
一、安裝虛擬機器及系統
虛擬機器安裝過程比較簡單,而且預設配置不用該,在公司上不了網是因為要設定Proxy 伺服器,跟虛擬機器網路設定無關。
安裝系統就有幾點需要特別注意了:
1、CentOS有一個“安裝軟體”的選項,這裡預設是最小安裝,坑啊。對於我這種新手哪知道什麼叫最小安裝,安完就一個終端介面欲哭無淚啊,裝了兩遍才知道要選GNOME案頭。
2、麒麟系統需要注意要手動安裝VMware Tools(提供的教程已經很詳細了,而我還是安了兩遍才成功),CentOS可以一鍵安裝VMware Tools。
二、配置網路、yum、wget
1、CentOS和麒麟都是內建FireFox瀏覽器。在FireFox瀏覽器找編輯->喜好設定->進階->網路->串連->設定->手動設定代理
(當初一直以為跟虛擬機器網路設定有關沒少走彎路)
2、緊接著要配置yum 。首先在終端輸入 yum list 如果串連失敗會有明顯標識。串連不通則編輯sudo vi /etc/yum.conf 添加
(假設proxy.server.com為Proxy 伺服器地址)
proxy = http://proxy.server.com:8080
proxy_username= 使用者名稱
proxy_password = 密碼
然後再yum list試試,顯示很多安裝包就成功了。
3、配置wget。這是一個下載工具,這也需要配置代理。
cd ~
vi .wgetrc(注意有”.”)
http_proxy = http://proxy.server.com:8080/
ftp_proxy = http://proxy.server.com:8080/
–proxy-user=使用者名稱
–proxy-passwd=密碼
注意跟yum.conf有點區別。
三、裝gcc5.4.0
因為std::regex error,需要更新gcc。yum install gcc只能更新到4.8.1,而gcc4.8.1並不能解決regex問題,所以我需要手動安裝gcc5.4.0.可以說這個大坑我安了四天。
首先可以先輸入gcc –version查看一下當前gcc版本
gcc下載地址:ftp://ftp.mirrorservice.org/sites/sourceware.org/pub/gcc/releases
下好了gcc5.4.0,壓縮包為gcc-5.4.0.tar.bz2 輸入tar -jxvf gcc-5.4.0.tar.bz2 獲得gcc-5.4.0檔案夾
mkdir build (以後的操作目錄)
cd gcc-5.4.0/
./contrib/download_prerequisites(這裡在下載一些安裝gcc會用到的檔案,如果沒配置wget則會失敗。)
cd ../build/ (來到工作目錄)
接下來要安裝gmp、mpfr、mpc
gmp:
../gcc-5.4.0/gmp-4.3.2/configure
sudo make
sudo make install
mpfr:
../gcc-5.4.0/mpfr-2.4.2/configure
sudo make
sudo make install
mpc
../gcc-5.4.0/mpc-0.8.1/configure
sudo make
sudo make install
現在再安裝gcc就可以了
../gcc-5.4.0/configure –enable-threads=posix –disable-checking –disable-multilib –enable-languages=c,c++
sudo make (及其耗時,將近兩個小時)
sudo make install
OK!到這裡不用再修改任何檔案,輸入gcc –version 會顯示gcc5.4.0(CentOS 7 和麒麟都是如此)
回到程式,可能會提示libstdc++問題,
strings /usr/lib64/libstdc++.so.6 | grep GLIBC
查看已有的GLIBCXX
strings /usr/local/lib64/libstdc++.so.6 | grep GLIBC
查看安裝gcc後新的GLIBXX
rm /usr/lib64/libstdc++.so.6
方法一:
cp /usr/local/lib64/libstdc++.so.6.21 /usr/lib64/
ln -s
方法二:
cp /usr/local/lib64/libstdc++.so.6 /usr/lib64/
除此之外,還學會了在辦公室使用共用資料夾。這些事就好像雖然我已經國三了,但是我不會國二啊。
雖然總說程式員每天都在煩惱,一個又一個新問題環環相扣,但是當自己努力地解開一環又一環,成功通關的成就感太充實了。反反覆複地while迴圈總會柳暗花明。