2012-04-03 24 views
0

我目前已經安裝了gcc4.7和gcc4.7-base等包,但GCC似乎仍然在使用4.6請致電在12.04上安裝gcc4.7時,GCC沒有從4.6切換到4.7

gcc --version 

如果我現在真的需要它,我可以編譯源代碼,但是我打算轉換一些舊代碼以使用C++ 11獲得樂趣。如果任何人有任何建議如何從4.6切換到4.7告訴。

我跟着從這裏指南:

https://askubuntu.com/questions/113291/installing-gcc-4-7

編輯:固定的問題,更新的鏈接/usr/bin/gcc-4.7

回答

2

嘗試運行以下,看看GCC位於:

ls -l `which gcc` 

我會說,賠率是所有你可能需要做的是更新的鏈接(但後來我又不能檢查,因爲我現在還沒有啓動到Linux)

+0

我更新了/usr/bin/gcc-4.7的鏈接,現在它可以正常工作。感謝隊友(和羅斯一樣) – DubyaDubyaDubyaDot 2012-04-03 01:18:41

+0

爲了減少像我這樣的傻子對此的興趣,請你說明如何執行這個*更新*,因爲我不清楚哪個*鏈接*它是你指的是 – puk 2013-10-22 18:34:59

+0

以上命令會生成類似/ usr/bin/gcc - > gcc-2.6的內容。運行'rm/usr/bin/gcc',然後'ln -s gcc-2.7/usr/bin/gcc'。當然,還沒有測試過這些命令,所以請自行承擔風險 – 2013-10-24 21:28:28

1

只需將您的CC環境變量/usr/bin/gcc-4.7或任何它。或者,也許你的編譯系統有一個不同的方式來選擇使用哪個編譯器。

+0

我的'CC'變量是空白的(我假設它從未設置過),如果我改變它爲'/ usr/bin/gcc-4.7'或者「無論它是什麼」,我會在哪裏做這個改變?在'.bashrc'這樣的啓動文件中,在shell或者'configure'腳本或'makefile'中? – puk 2013-10-22 18:36:57

0

很可能很多爲gcc 4.6編譯的程序可能不適用於gcc 4.7。因此,您必須同時保持並同時根據情況使gcc4.7的鏈接有所不同。您可以編輯您的GCC文件是一個shell腳本:

#!/bin/sh 
if [ -n "$GCC_SIX" ]; 
then 
    exec /usr/bin/gcc-4.6 "[email protected]" 
else 
    exec /usr/bin/gcc-4.7 "[email protected]" 
fi 

現在,無論何時你發現不工作gcc4.7程序只需添加一個新的環境變量,你已經切換到gcc4.6當前執行。注意,對於多用戶系統,這可以證明是一種生命保護。

+0

當您說「您可以編輯您的gcc文件爲shell腳本」時,您指的是哪個gcc文件?這是一個系統特定的文件,或者只是基本而不是調用'foo.c'你調用'GCC_SIX = 0; foo.sh',它調用'exec /usr/bin/gcc-4.X foo.c' – puk 2013-10-22 18:39:27