恩恩真靓咯 發表於 2023-1-15 19:37:00

Ubuntu或Debian中安装老版本的gcc

<h1 id="ubuntu或debian中安装老版本的gcc">Ubuntu或Debian中安装老版本的gcc</h1>
<p>最近碰到C++中老版本的属性初始化问题,在新版本的gcc中无法复现,所以,需要安装老版的gcc-4.8.5,但是直接安装,源里面是没有的。<br>
要安装只能自己手动去下载对应的.deb安装包(很多Ubuntu和Debian的安装包.deb是可以共用的)。</p>
<h2 id="deb安装包搜索网站">deb安装包搜索网站</h2>
<p>https://pkgs.org/</p>
<center><img src="https://img2023.cnblogs.com/blog/717724/202301/717724-20230115193727780-1839346200.png" width="504" height="188"></center>
<p>非移动手机,或者Mac新的arm芯片的,选择amd64版本的:</p>
<center><img src="https://img2023.cnblogs.com/blog/717724/202301/717724-20230115193728390-1469329862.png" width="900" height="274"></center>
<p>点进去会发现有多个栏目,其中有一个是依赖,这个是全部的依赖,但有可能有些lib,操作系统已经安装过了,就不用下载了,所以,可以直接跳到下面的下载栏目,先下载安装,然后看提示缺什么再下载什么:</p>
<center><img src="https://img2023.cnblogs.com/blog/717724/202301/717724-20230115193728078-294456014.png" width="900" height="396"></center>
<p>复制这个下载链接,然后用 wget 命令进行下载:</p>
<pre><code class="language-bash">wget 'http://archive.ubuntu.com/ubuntu/pool/universe/g/gcc-4.8/gcc-4.8_4.8.5-4ubuntu8_amd64.deb'
</code></pre>
<center><img src="https://img2023.cnblogs.com/blog/717724/202301/717724-20230115193727264-294435038.png" width="900" height="175"></center>
<p>然后,用安装命令进行尝试,提示报错缺什么再用相同的办法下载什么:</p>
<pre><code class="language-bash">sudo dpkg -i gcc-4.8_4.8.5-4ubuntu8_amd64.deb
</code></pre>
<h2 id="gcc-485所缺的deb">gcc-4.8.5所缺的.deb</h2>
<pre><code class="language-bash">wget 'http://archive.ubuntu.com/ubuntu/pool/universe/g/gcc-4.8/gcc-4.8_4.8.5-4ubuntu8_amd64.deb'
wget 'http://archive.ubuntu.com/ubuntu/pool/universe/g/gcc-4.8/cpp-4.8_4.8.5-4ubuntu8_amd64.deb'
wget 'http://archive.ubuntu.com/ubuntu/pool/universe/g/gcc-4.8/gcc-4.8-base_4.8.5-4ubuntu8_amd64.deb'
wget 'http://archive.ubuntu.com/ubuntu/pool/universe/g/gcc-4.8/libgcc-4.8-dev_4.8.5-4ubuntu8_amd64.deb'
wget 'http://archive.ubuntu.com/ubuntu/pool/universe/g/gcc-4.8/libasan0_4.8.5-4ubuntu8_amd64.deb'
wget 'http://archive.ubuntu.com/ubuntu/pool/universe/g/gcc-4.8/g++-4.8_4.8.5-4ubuntu8_amd64.deb'
wget 'http://archive.ubuntu.com/ubuntu/pool/universe/g/gcc-4.8/libstdc++-4.8-dev_4.8.5-4ubuntu8_amd64.deb'
</code></pre>
<h2 id="安装顺序">安装顺序</h2>
<pre><code class="language-bash">sudo dpkg -i libasan0_4.8.5-4ubuntu8_amd64.deb
sudo dpkg -i libgcc-4.8-dev_4.8.5-4ubuntu8_amd64.deb
sudo dpkg -i cpp-4.8_4.8.5-4ubuntu8_amd64.deb gcc-4.8-base_4.8.5-4ubuntu8_amd64.deb
sudo dpkg -i gcc-4.8_4.8.5-4ubuntu8_amd64.deb
sudo dpkg -i libstdc++-4.8-dev_4.8.5-4ubuntu8_amd64.deb g++-4.8_4.8.5-4ubuntu8_amd64.deb
</code></pre>
<h2 id="使用update-alternatives管理多个版本gcc">使用update-alternatives管理多个版本gcc</h2>
<ul>
<li>设置</li>
</ul>
<pre><code class="language-bash">sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.8 48 --slave /usr/bin/g++ g++ /usr/bin/g++-4.8
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-10 100 --slave /usr/bin/g++ g++ /usr/bin/g++-10

# 48,100这些表示的是优先级,可根据需要选定,优先级高的即为默认的。
</code></pre>
<ul>
<li>选择</li>
</ul>
<pre><code class="language-bash">sudo update-alternatives --config gcc
</code></pre>
<p>根据提示,选择1或者2即可,非常方便。</p>
<h2 id="参考">参考:</h2>
<p>https://blog.csdn.net/uniqueyyc/article/details/85407693</p><br><br>
来源:https://www.cnblogs.com/yangwen0228/p/17054011.html
頁: [1]
查看完整版本: Ubuntu或Debian中安装老版本的gcc