Bagaimana cara menggunakan GCC 4.7 di tempat 4.6?

8

Jadi saya sedang mengerjakan sebuah proyek dan saya ingin menggunakan beberapa fitur C11 untuk C. Untuk menggunakan fitur-fitur tersebut GCC 4.7 diperlukan, jadi saya pergi ke synaptic dan mencari ke atas 4.7, dan saya menemukan paket-paket gcc-4.7-base jadi saya memasangnya [1].

Jadi sekarang gcc-4.7-base telah diinstal, saya diharapkan dapat menggunakan 4.7, tetapi tidak, ketika saya gcc --versionmasih menunjukkan 4.6.3 bahkan lebih, ketika saya mencoba langsung memanggil 4.7 (via /usr/bin/gcc-4.7) itu tidak ada, meskipun gcc-4.6executable memang ada.

Bagaimana cara "mengaktifkan" GCC 4.7? Saya baca di sini , Anda melakukan hal-hal gila update-alternatives, tetapi tidak berhasil bagi saya karena gcc-4.7executable tidak benar-benar ada di mesin saya.

Catatan: 1. Saya juga melihat gcc-4.6-base, jadi saya pikir saya akan menghapusnya, tetapi synaptic berusaha menghapus setiap paket yang saya instal dan menginstal Java runtime, jadi untuk alasan yang jelas saya memutuskan untuk tidak menghapusnya.

Larz Conwell
sumber

Jawaban:

13

Berikut ini bekerja untuk saya.

sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.6 60 --slave /usr/bin/g++ g++ /usr/bin/g++-4.6 
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.7 40 --slave /usr/bin/g++ g++ /usr/bin/g++-4.7 
sudo update-alternatives --config gcc

Sumber untuk referensi

Jinseop Kim
sumber
Saya tidak berpikir ini menjawab pertanyaan, karena OP secara khusus mengatakan update-alternativesrute tidak akan bekerja untuk mereka karena mereka tidak memiliki biner gcc-4.7. Memang, mencoba mengikuti petunjuk dalam jawaban ini setelah menginstal gcc-4.7-base menghasilkan kesalahan:update-alternatives: error: alternative path /usr/bin/gcc-4.7 doesn't exist.
waldyrious
0

The gccbiner dalam gcc-X.Ypaket, tidak gcc-X.Y-base. Yang terakhir adalah ketergantungan dari salah satu gcc-X.Yatau libstdc++.

Pada dasarnya, Anda cukup menginstal gcc-4.7dan kemudian menyebutnya sebagai gcc-4.7dari makefile Anda, atau gunakan install-alternativesuntuk menjadikannya default.

Dmitry Grigoryev
sumber