欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Linux配置C++11編譯環(huán)境的方法

 更新時間:2020年10月12日 14:41:40   作者:職場亮哥  
這篇文章主要介紹了Linux配置C++11編譯環(huán)境,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下

配置yum源

此處我們使用163的yum源,配置如下

首先備份/etc/yum.repos.d/CentOS-Base.repo

mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup

下載對應版本repo文件, 放入/etc/yum.repos.d/(操作前請做好相應備份),以下為下載鏈接

https://mirrors.163.com/.help/CentOS6-Base-163.repo

運行以下命令生成yum緩存

yum clean all
yum makecache

使用yum配置c++編譯環(huán)境

yum配置好之后,配置c++編譯環(huán)境命令如下

yum -y install gcc gcc-g++

安裝完成之后c++環(huán)境即可配置好。

寫一個hello worl代碼如下

#include<iostream>

using namespace std;
int main()
{
	cout<<"Hello World!"<<endl;
	return 0;
}

以上代碼保存文件名為aa.cpp,用c++編譯并執(zhí)行的操作如下

g++ -o hello aa.cpp
./aa.cpp

源碼編譯安裝c++11編譯環(huán)境

因為yum自帶的gcc版本過低,并且c++11需要gcc4.8以上版本支持,因此需要下載gcc4.8以上版本以支持c++11

查看本地gcc版本

gcc -v

本次版本為gcc version 4.4.7 20120313 (Red Hat 4.4.7-17) (GCC)

獲取gcc4.8.2版本的source code

源碼默認放在src目錄下

cd /usr/local/src
wget http://gcc.skazkaforyou.com/releases/gcc-4.8.2/gcc-4.8.2.tar.gz

文件有100M,國外網站下載速度很慢,請耐心等待(可用國外vps下載中轉)

下載完成后,放在/usr/local/src下

解壓縮

tar -zxvf gcc-4.8.2.tar.gz

編譯源碼并安裝

進入gcc目錄

cd gcc-4.8.2

下載配置安裝gcc4.8.2的依賴庫

./contrib/download_prerequisites

建立編譯輸出目錄

在當前路徑下執(zhí)行即可

mkdir gcc-build-4.8.2

開始configure

../configure --enable-checking=release --enable-languages=c,c++ --disable-multilib
  • --enable-languages表示你要讓你的gcc支持那些語言
  • --disable-multilib不生成編譯為其他平臺可執(zhí)行代碼的交叉編譯器
  • --disable-checking生成的編譯器在編譯過程中不做額外檢查

編譯

在編譯輸出目錄gcc-build-4.8.2直接make即可

make

源碼make過程耗時較長,一般需要半個小時以上。

安裝

make install

驗證是否升級成功

使用which gcc檢查gcc安裝的為止,使用gcc -v檢查版本,如果仍然沒有變,請關閉當前會話重新連接看是否變成4.8.2,如果仍未變,需要重啟系統(tǒng)

驗證C++11程序是否可用

lambda表達式是C++11的新特性,以下程序即可驗證c++11是否可用

參考:http://en.cppreference.com/w/cpp/container/array

#include <iostream>

using namespace std;

int main()

{

  int n = [] (int x, int y) { return x + y; }(5, 4);

  cout << n << endl;

}

驗證方法

g++ -std=c++11 -o lambda vv.cpp

如果使用g++不加-std=c++11參數,則會報錯,報錯如下

[root@host-192-168-150-182 tmp]# g++ -o lambda vv.cpp 
vv.cpp: In function ‘int main()':
vv.cpp:9:46: warning: lambda expressions only available with -std=c++11 or -std=gnu++11 [enabled by default]
  int n = [] (int x, int y) { return x + y; }(5, 4);

更新gcc動態(tài)鏈接庫

源碼編譯升級安裝了gcc后,編譯程序或運行其它程序時,有時會出現類似/usr/lib64/libstdc++.so.6: versionGLIBCXX_3.4.18' not found的問題。這是因為升級gcc時,生成的動態(tài)庫沒有替換老版本gcc的動態(tài)庫導致的,將gcc最新版本的動態(tài)庫替換系統(tǒng)中老版本的動態(tài)庫即可解決??蓞⒖家韵骆溄?/p>

http://itbilu.com/linux/management/NymXRUieg.html

到此這篇關于Linux配置C++11編譯環(huán)境的文章就介紹到這了,更多相關C++11編譯環(huán)境內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • C++未定義行為(undefined behavior)

    C++未定義行為(undefined behavior)

    對于未定義行為,C++標準沒有明確規(guī)定編譯器們應該怎么做,那么執(zhí)行的結果就是不可預料的。下面我們來詳細探討下
    2017-02-02
  • C語言實現的一個萬年歷小程序

    C語言實現的一個萬年歷小程序

    這篇文章主要介紹了C語言實現的一個萬年歷小程序,具有一定的參考價值,做C語言日期計算的朋友可以參考下
    2014-07-07
  • C++詳解鏈棧的實現

    C++詳解鏈棧的實現

    今天我們學習的是鏈棧,也就是說棧的鏈式結構,我們運用順序鏈的方式來實現。首先呢,鏈棧是不存在存儲空間滿的情況的,所以可以說它是個無底洞,然而我們之前學的順序棧是有額定空間的
    2022-06-06
  • C++實現Linux下彈出U盤的方法

    C++實現Linux下彈出U盤的方法

    這篇文章主要介紹了C++實現Linux下彈出U盤的方法,實例分析了C++在Linux平臺上進行IO操作的相關技巧,具有一定參考借鑒價值,需要的朋友可以參考下
    2015-07-07
  • C++簡單實現的全排列算法示例

    C++簡單實現的全排列算法示例

    這篇文章主要介紹了C++簡單實現的全排列算法,結合實例形式分析了C++排序操作的實現技巧,需要的朋友可以參考下
    2017-07-07
  • 基于C語言實現迷宮游戲的示例代碼

    基于C語言實現迷宮游戲的示例代碼

    這篇文章主要介紹了基于C語言如何實現簡單的迷宮游戲,對于學習游戲開發(fā)的朋友相信有一定的借鑒價值,需要的朋友可以參考下
    2022-05-05
  • C語言中二維數組指針的簡要說明

    C語言中二維數組指針的簡要說明

    這篇文章主要介紹了C語言中二維數組指針的簡要說明,文章后也附送一個小練習題進行鞏固,需要的朋友可以參考下
    2015-08-08
  • C++根據傳入的函數指針來解析需要的參數(推薦)

    C++根據傳入的函數指針來解析需要的參數(推薦)

    C++可以根據傳入的函數指針,獲取自己需要的參數類型,然后根據參數源中獲取需要的參數,具體實現方式大家參考下本文
    2018-05-05
  • C++中的string類型

    C++中的string類型

    這篇文章主要介紹了C++中的string類型,在C++當中,除了char 類型,還有專門的字符串類型,就叫做string,下面文字將圍繞其相關資料展開詳細內容,需要的朋友可以參考一下,希望對你有所幫助
    2021-11-11
  • C++實現簡單五子棋游戲

    C++實現簡單五子棋游戲

    這篇文章主要為大家詳細介紹了C++實現簡單五子棋游戲,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-05-05

最新評論