Saya ingin menginstal versi terbaru GCC (GNU compiler collection) di Linux Mint 17.3. Saat ini g++ --version
mengembalikan 4.8.4, sedangkan rilis stabil terbaru adalah 5.3.
Saya ingin menginstal versi terbaru GCC (GNU compiler collection) di Linux Mint 17.3. Saat ini g++ --version
mengembalikan 4.8.4, sedangkan rilis stabil terbaru adalah 5.3.
Jawaban:
Linux Mint Anda sudah diinstal sebelumnya dengan paket GCC. Jadi pertama-tama saya akan merekomendasikan Anda untuk memeriksa apakah paket sudah ada di sistem Anda dengan mengetikkan perintah berikut di terminal.
apt-cache search gcc
Jika Anda tidak memiliki paket seperti itu maka gunakan perintah berikut di terminal terlebih dahulu Anda telah menambahkan repositori berikut:
sudo add-apt-repository ppa:ubuntu-toolchain-r/test
lalu gunakan perintah selanjutnya:
sudo apt-get update
sudo apt-get install g++-4.7 c++-4.7
Selalu ada hal dasar yang harus kita pelajari; anggap sebagai prasyarat sebelum linux .. Pelajari googling ... coba lakukan pencarian yang lebih sulit ...
g++-4.7
, yang merupakan versi yang lebih rendah daripada g++-4.8
, yang sudah saya miliki? Saya ingin meningkatkan, bukan downgrade.
unduh versi terbaru gcc
wget http://www.netgull.com/gcc/releases/gcc-5.3.0/gcc-5.3.0.tar.bz2
gunakan perintah: tar -xjf
untuk unzip file
Masukkan direktori yang baru saja Anda buka ritsletingnya, katakan $HOME/Downloads/gcc-5.3.0
, lalu ketik perintah:
./configure --disable-checking --enable-languages=c,c++,objc
--disable-multilib --with-system-zlib prefix=/usr/bin/gcc-5.3
Instalasi ketergantungan: build GCC membutuhkan GMP4.2 +, MPFR 2.4.0+, dan MPC 0.8.0+ dan build esensial
sudo apt-get install libgmp-dev libmpfr-dev libmpc-dev libc6-dev
sudo apt-get install build-essential
instal kompiler C ++
sudo apt-get install g++
Jenis berikutnya:
make
sudo make install
Edit jika Anda masih mendapatkan pesan kesalahan seperti "zlib.h tidak ditemukan!" Anda dapat melakukan di bawah ini untuk memperbaikinya:
apt-get install zlib1g-dev
--disable-multilib
?
gcc/lto-compress.c:28:18: fatal error: zlib.h: No such file or directory
Saya tidak yakin apa yang harus menjadi yang terbaru, karena selalu ada beberapa yang terbaru keluar. Tetapi Anda dapat menginstalnya dengan cara ini.
Ambil gcc-8 sebagai contoh:
sudo add-apt-repository ppa:ubuntu-toolchain-r/test
sudo apt-get update
sudo apt-get install gcc-8 g++-8
gcc-8 --version
jika Anda ingin memilih gcc-8 / g ++ - 8 dengan prioritas lebih tinggi (20 dalam hal ini), Anda juga perlu melakukannya
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-8 20 --slave /usr/bin/g++ g++ /usr/bin/g++-8
Sejujurnya aku terlalu malas untuk pindah 17.3 - itu bekerja untukku. Meski begitu, saya masih membutuhkan gcc yang lebih baru. Untuk mengkompilasinya berulang kali untuk target yang berbeda, saya memiliki skrip bash (lihat di bawah) yang saya modifikasi dan jalankan (saya sedang menulis OS mainan saya sendiri, oleh karena itu saya harus menggunakan gcc yang dihasilkan secara khusus).
Ubah direktori dalam skrip di bawah ini agar sesuai dengan direktori yang Anda miliki. Saya menyimpan versi yang dikompilasi di direktori saya sendiri sehingga saya dapat dengan mudah beralih antara versi yang saya kompilasi dan versi sistem. Saya sarankan Anda melakukan hal yang sama. Anda perlu mengunduh binutils-2.23.2 dan juga versi gcc yang Anda minati (Saya menggunakan 7.1.0 di bawah). Masukkan mereka ke dalam direktori ~ / contrib bersama dengan skrip di bawah ini.
Anda mungkin juga ingin mengubah baris "--enabled-languages = c" menjadi "--enabled-languages = c, c ++, objc" - proyek saya hanya membutuhkan C. Perubahan lain adalah nilai PLATFORM. Saya menggunakan "i686-elf" tetapi itu tidak akan berhasil untuk Anda (saya mengubahnya di bawah untuk sesuatu yang akan bekerja untuk platform 32-bit). Anda dapat mencoba "x86_64-linux-gnu" untuk platform 64-bit.
Untuk yang penasaran - alasan saya membangunnya seperti ini adalah karena proses pembuatan gcc dulu memiliki bug yang mencegah pembangunan kembali di direktori sumber. Saya tidak tahu apakah bug ini masih ada (terakhir saya temui di 4.8.0), tetapi satu-satunya solusi adalah membangun secara eksplisit di direktori terpisah jika Anda ingin membangun kembali.
[EDIT: Lakukan instalasi dependensi yang disarankan di atas oleh 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"