WSL2 Ubuntu安裝GCC不同版本
- 介紹
- 安裝gcc 7.1
- 方法 1:通過源碼編譯安裝 GCC 7.1
- 步驟 1:安裝編譯依賴
- 步驟 2:下載 GCC 7.1 源碼
- 步驟 3:配置和編譯
- 步驟 4:配置環境變量
- 步驟 5:驗證安裝
- 方法 2:通過第三方 PPA 安裝(不推薦,可能不兼容)
- 注意事項
- 安裝gcc 10、11及以上(以11為例)
- 1. 更新軟件包列表
- 2. 安裝 GCC 11 和 G++ 11
- 直接通過官方倉庫安裝(推薦)
- 3. 驗證安裝
- 4. 設置默認版本(可選)
- 5. 完全卸載(如果需要)
- 卸載安裝
- 1. 刪除安裝目錄
- 2. 清理環境變量
- 3. 移除 `update-alternatives` 配置(如果配置過)
- 4. 驗證卸載
- 5. 額外清理(可選)
- 注意事項
介紹
安裝gcc 7.1
在 WSL2 的 Ubuntu 24.04 中安裝 GCC 7.1 需要手動操作,因為該版本較舊且 Ubuntu 24.04 的默認倉庫已不再提供。以下是分步安裝方法:
方法 1:通過源碼編譯安裝 GCC 7.1
步驟 1:安裝編譯依賴
sudo apt update
sudo apt install -y build-essential \gcc-multilib g++-multilib \libgmp-dev libmpfr-dev libmpc-dev \flex bison texinfo
步驟 2:下載 GCC 7.1 源碼
wget https://ftp.gnu.org/gnu/gcc/gcc-7.1.0/gcc-7.1.0.tar.gz
tar -xzvf gcc-7.1.0.tar.gz
cd gcc-7.1.0
步驟 3:配置和編譯
./configure --prefix=/usr/local/gcc-7.1 \--enable-languages=c,c++ \--disable-multilib \--disable-bootstrap
make -j$(nproc) # 根據 CPU 核心數調整并行編譯(如 `-j4`)
sudo make install
步驟 4:配置環境變量
# 將以下內容添加到 ~/.bashrc
echo 'export PATH=/usr/local/gcc-7.1/bin:$PATH' >> ~/.bashrc
echo 'export LD_LIBRARY_PATH=/usr/local/gcc-7.1/lib64:$LD_LIBRARY_PATH' >> ~/.bashrc
source ~/.bashrc
步驟 5:驗證安裝
gcc --version # 應輸出 "gcc (GCC) 7.1.0"
方法 2:通過第三方 PPA 安裝(不推薦,可能不兼容)
如果存在支持 Ubuntu 24.04 的舊版 GCC PPA,可以嘗試:
sudo add-apt-repository ppa:ubuntu-toolchain-r/test
sudo apt update
sudo apt install gcc-7 g++-7
但 Ubuntu 24.04 可能已移除對 GCC 7 的支持,此方法大概率失敗。
注意事項
-
兼容性問題:
- Ubuntu 24.04 的庫依賴較新,安裝舊版 GCC 7.1 可能導致動態鏈接庫沖突。
- 推薦優先使用 Docker 容器 或 源碼編譯。
-
多版本管理:
- 使用
update-alternatives
管理多版本 GCC:sudo update-alternatives --install /usr/bin/gcc gcc /usr/local/gcc-7.1/bin/gcc 70 sudo update-alternatives --config gcc # 交互式切換版本
- 使用
-
依賴修復:
- 如果安裝后出現依賴錯誤,嘗試:
sudo apt --fix-broken install
- 如果安裝后出現依賴錯誤,嘗試:
安裝gcc 10、11及以上(以11為例)
在 Ubuntu 系統中安裝 GCC 11 和 G++ 11 的步驟如下:
1. 更新軟件包列表
sudo apt update
2. 安裝 GCC 11 和 G++ 11
直接通過官方倉庫安裝(推薦)
如果 Ubuntu 倉庫中已包含 GCC 11:
sudo apt install gcc-11 g++-11
3. 驗證安裝
檢查版本:
gcc-11 --version # 應輸出 "gcc (Ubuntu 11.x.x)"
g++-11 --version # 應輸出 "g++ (Ubuntu 11.x.x)"
4. 設置默認版本(可選)
如果系統中存在多個 GCC/G++ 版本,可通過 update-alternatives
切換默認版本:
# 配置 GCC
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-11 11# 配置 G++
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-11 11# 交互式選擇默認版本
sudo update-alternatives --config gcc
sudo update-alternatives --config g++
5. 完全卸載(如果需要)
sudo apt remove gcc-11 g++-11
卸載安裝
要卸載通過源碼編譯安裝的軟件(例如 GCC 7.1),需手動刪除安裝時生成的文件和目錄。以下是詳細步驟:
1. 刪除安裝目錄
如果編譯安裝時指定了 --prefix=/usr/local/gcc-7.1
,直接刪除該目錄:
sudo rm -rf /usr/local/gcc-7.1
2. 清理環境變量
如果之前在 ~/.bashrc
或 ~/.profile
中添加了環境變量,需手動移除相關行:
nano ~/.bashrc
刪除以下類似內容:
export PATH=/usr/local/gcc-7.1/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/gcc-7.1/lib64:$LD_LIBRARY_PATH
保存文件后生效:
source ~/.bashrc
3. 移除 update-alternatives
配置(如果配置過)
如果通過 update-alternatives
設置了默認版本,需移除相關條目:
# 列出所有 GCC 版本
sudo update-alternatives --config gcc# 移除 GCC 7.1 的條目
sudo update-alternatives --remove gcc /usr/local/gcc-7.1/bin/gcc
4. 驗證卸載
檢查是否徹底移除:
gcc --version # 應不再顯示 7.1 版本
ls /usr/local/gcc-7.1 # 目錄應不存在
5. 額外清理(可選)
- 刪除源碼目錄:
rm -rf ~/gcc-7.1.0 # 假設源碼解壓到用戶主目錄
- 清理系統緩存:
sudo ldconfig # 更新動態鏈接庫緩存
注意事項
- 謹慎操作:使用
sudo rm -rf
時確保路徑正確,避免誤刪系統文件。 - 多版本共存:如果系統中存在多個 GCC 版本,確保其他版本不受影響。
- 依賴問題:卸載后,依賴該 GCC 版本的程序可能無法運行,需重新配置或安裝。