在centos編譯gcc4.7

來源:互聯網
上載者:User

lambda運算式,想說愛你不容易。STL為我們提供了很多演算法,卻沒有提供匿名函數,真是罪過!

本文的故事從此開始。

c++0x為我們帶來了一陣春風,提供了lambda運算式,我們終於可以像c#那樣去寫程式了。

int a,b;

for_each(v.begin(),v.end(),[=](int &it){it = it*a+b;});

 

因為平時都是vs2010下面開發,部署的時候才注意到,centos6裡面的gcc版本4.4的,不支援lambda,至少要4.5的版本才支援

好吧,既然4.7都來了,編譯一下吧。

google了一下,很多同學寫得用複雜,也做得更複雜,讓我走了不少彎路,希望可以為別人提供一點協助!

首先,把代碼弄出來

安裝一下以下包,不然,你有可能會收穫連結不到libc.a的錯誤

sudo yum install glibc-static libstdc++-static

wget http://ftp.gnu.org/gnu/gcc/gcc-4.7.0/gcc-4.7.0.tar.gz 

tar xvf gcc-4.7.0.tar.gz  

cd gcc-4.7.0  

./contrib/download_prerequisites  

cd ..  

mkdir build_gcc4.7

cd build_gcc4.7

../gcc-4.7.0/configure --enable-checking=release --enable-languages=c,c++ --disable-multilib

make -j4

sudo make install

我在伺服器用了一個多小時後就可以了。。機器慢點,你就看開吧。。

很多文章都說自己去下載mpr等等三個庫的源碼,自己編譯,這是相當不理智的,浪費了不少時間,因為我們自己去下載包括安裝都有可能碰到版本問題,以及路徑問題,好好的方案還是

使用./contrib/download_prerequisites  ,他會自動下載,自動編譯,何樂而不為

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.