1. 程式人生 > >Ubuntu 12.04 離線安裝 g++編譯器(64bit),使用dpkg命令

Ubuntu 12.04 離線安裝 g++編譯器(64bit),使用dpkg命令

轉自 http://blog.sina.com.cn/s/blog_71553b090101jxb5.html

簡單粗暴點:

1.登入網站:http://archive.ubuntu.com/ubuntu/pool/main/g/gcc-4.6/

2.下載者四個包: g++-4.6_4.6.3-1ubuntu5_amd64.deb、gcc-4.6_4.6.3-1ubuntu5_amd64.deb、gcc-4.6-base_4.6.3-1ubuntu5_amd64.deb和libstdc++6-4.6-dev_4.6.3-1ubuntu5_amd64.deb

3. 執行:# dpkg -i  *.deb

4.檢測: #g++-4.6 -v

  1. 從Ubuntu 12.04的iso映象中安裝,預設帶有gcc-4.6.3,在/usr/bin/下有gcc,gcc-4.6等四個子目錄。
  2. 離線安裝是指,Ubuntu 12.04不接入network,不能從網路的軟體源處下載,就是不能使用apt-get install了。
  3. 離線安裝的幾種方法有:從安裝光碟上直接安裝、使用synaptic或其他軟體管理器、在命令列中使用dpkg安裝、自己搭建一個源供內網使用者下載。
  • 這裡,先採用了在命令列中使用dpkg命令安裝g++的方法。
  • 第一個問題是從哪裡下載安裝包,安裝包是什麼格式的。dpkg命令的操作物件是.deb格式的,首先找的下載源是gcc.gnu.org,在頁面右側的Download->Mirror Sites下找了一個UK的,解壓後有gcc和libstdc++兩個資料夾,其中libstdc++資料夾中的configure執行起來會報錯“缺少install.sh”,網上的幾個經驗帖是讓把解壓路徑和編譯路徑分開設定,也就是要另外mkdir一個路徑,後續工作都比較麻煩,沒看懂所以就沒采用這個方法。從另一個網站下載,網址是http://archive.ubuntu.com/ubuntu/pool/main/g/gcc-4.6/,這裡應該是gcc的全部安裝包。從http://packages.ubuntu.com/precise/amd64/g++/filelist 和 http://packages.ubuntu.com/precise/g++ 中知道了必須下載的幾個安裝包是g++-4.6_4.6.3-1ubuntu5_amd64.deb、gcc-4.6_4.6.3-1ubuntu5_amd64.deb、gcc-4.6-base_4.6.3-1ubuntu5_amd64.deb和libstdc++6-4.6-dev_4.6.3-1ubuntu5_amd64.deb,這是由安裝包之間的依賴關係決定的。在聯網的情況下,試一下apt-get install g++,也可以知道需要哪些安裝包。
  • 將這四個安裝包放在一個路徑下,然後在命令列中輸入sudo dpkg -i ......(四個安裝包),就將g++安裝好了。
  • 第二個問題是帶有這樣一個背景的,在命令列下輸入gcc -v時,會返回gcc的版本等資訊,輸入whereis gcc和which gcc時返回了/usr/bin。上面的第一步完成後,在命令列中輸入g++會提示沒有安裝,whereis g++和 which g++則無返回資訊。
  • 這時,看到在/usr/bin在是有g++-4.6這樣的目錄的(一共有兩個帶有g++的目錄),啟發我在命令列中輸入g++ -v,這時會返回g++的版本資訊,而且whereis g++-4.6和which g++-4.6都有返回值。同樣g++-4.6 可以編譯cpp檔案,說明g++編譯器安裝成功。