Linux Mint 17.3に最新バージョンのGCC(GNU Compiler Collection)をインストールしたいと思います。現在はg++ --version
4.8.4に戻り、最新の安定版は5.3です。
答え1
Linux Mint には GCC パッケージがあらかじめインストールされています。したがって、まず端末に次のコマンドを入力して、パッケージがシステムにすでに存在することを確認することをお勧めします。
apt-cache search gcc
そのパッケージがない場合は、まず端末で次のコマンドを使用して、次のリポジトリを追加します。
sudo add-apt-repository ppa:ubuntu-toolchain-r/test
次に、次のコマンドを使用します。
sudo apt-get update
sudo apt-get install g++-4.7 c++-4.7
私たちが学ぶべきいくつかの基本は常にあります。 Linuxを使用する前にこれを前提にしてください。 Google検索を学ぶ...もっと一生懸命検索してください...
答え2
最新バージョンのgccをダウンロードしてください。
wget http://www.netgull.com/gcc/releases/gcc-5.3.0/gcc-5.3.0.tar.bz2
使用命令:tar -xjf
ファイルを解凍する
のように、解凍したばかりのディレクトリを入力し、$HOME/Downloads/gcc-5.3.0
次のコマンドを入力します。
./configure --disable-checking --enable-languages=c,c++,objc
--disable-multilib --with-system-zlib prefix=/usr/bin/gcc-5.3
依存関係のインストール:GCCを構築するには、GMP4.2+、MPFR 2.4.0+、およびMPC 0.8.0+が必要で、構築に必要です。
sudo apt-get install libgmp-dev libmpfr-dev libmpc-dev libc6-dev
sudo apt-get install build-essential
C++ コンパイラのインストール
sudo apt-get install g++
次のタイプ:
make
sudo make install
編集する 「zlib.hが見つかりません!」などのエラーメッセージが表示され続ける場合は、次の手順を実行して問題を解決できます。
apt-get install zlib1g-dev
答え3
いつも最新の製品が出てくるので、何が最新なのかよく分からない。ただし、この方法で何でもインストールできます。
gcc-8を例に挙げましょう。
sudo add-apt-repository ppa:ubuntu-toolchain-r/test
sudo apt-get update
sudo apt-get install gcc-8 g++-8
gcc-8 --version
より高い優先順位 gcc-8/g++-8 (この例では 20) を選択するには、以下も必要です。
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-8 20 --slave /usr/bin/g++ g++ /usr/bin/g++-8
答え4
正直言って、17.3を捨てるには怠惰な方です。私にとっては効果的です。つまり、まだ更新されたgccが必要です。私は他のターゲットに対して繰り返しコンパイルするために修正して実行するbashスクリプト(以下を参照)を持っています(私は自分のおもちゃのOSを書いているので、特別に生成されたgccを使用する必要があります)。
次のスクリプトのディレクトリを現在のディレクトリと一致するように変更します。コンパイルされたバージョンとシステムバージョンを簡単に切り替えることができるように、コンパイルされたバージョンを独自のディレクトリに保存します。私はこれを行うことを提案します。 binutils-2.23.2と興味のあるgccバージョンをダウンロードする必要があります(以下では7.1.0を使用しています)。以下のスクリプトで ~/contrib ディレクトリに配置します。
「--enabled-言語s=c」行を「--enabled-言語s=c,c++,objc」に変更することもできます。私のプロジェクトにはCだけが必要です。もう一つの変化はPLATFORMの価値です。 「i686-elf」を使用しましたが、動作しません(以下から32ビットプラットフォーム用に変更しました)。 64ビットプラットフォームでは、「x86_64-linux-gnu」を試すことができます。
ちょうど好奇心から - このようにビルドした理由は、gccビルドプロセスにソースディレクトリから再ビルドできないバグがあったからです。このバグがまだ存在するかどうかはわかりませんが(今回は4.8.0でこのバグが発生しました)、唯一の回避策は、再構築する場合は別のディレクトリに明示的にビルドすることです。
[編集:上記のGAD3R依存関係のインストールを実行する]
#!/bin/bash
function die() {
echo $1
exit 127
}
export PREFIX=/home/lelanthran/opt/cross
export TARGET=i686-linux-gnu
export PATH="$PREFIX/bin:$PATH"
pushd $PWD &> /dev/null
mkdir -p build-binutils
cd build-binutils
../binutils-2.23.2/configure \
--target=$TARGET \
--prefix="$PREFIX" \
--with-sysroot \
--disable-nls \
--disable-werror || die "binutils/config error"
make || die "binutils/make error"
make install || die "binutils/make install error"
popd &> /dev/null
pushd $PWD &> /dev/null
mkdir -p build-gcc-7.1.0
cd build-gcc-7.1.0
../gcc-7.1.0/configure \
--target=$TARGET \
--prefix="$PREFIX" \
--disable-nls \
--enable-languages=c \
--without-headers || die "gcc/config error"
make all-gcc || die "gcc/make all-gcc error"
make all-target-libgcc || die "gcc/make all-target-libgcc error"
make install-gcc || die "gcc/make install-gcc error"
make install-target-libgcc || die "gcc/make install-target-libgcc error"