Est-ce que GCC-4.8 est disponible pour 12.04 Precise maintenant?
Mise à jour : Le 6/05/2013, une version de gcc 4.8.1 pour la version 12.04 (précise) est actuellement disponible à l' adresse https://launchpad.net/~ubuntu-toolchain-r/+archive/test .
La réponse courte est: gcc-4.8
est actuellement disponible pour 12.04 (Précis) via le toolkit PPA ou en compilant la source (voir ci-dessous pour plus de détails).
Annonce de sortie
L' annonce de la publication de gcc-4.8 a été faite le 22 mars, vous ne verrez donc probablement pas cela dans un répertoire officiel pour l'instant.
Cependant, il semble que Launchpad dispose d'un PPA disponible pour les versions de test de chaînes d'outils incluant gcc-4.8, ici: https://launchpad.net/~ubuntu-toolchain-r/+archive/test
Selon le journal des modifications et la liste des paquets , il y a des debs pour i386, amd64, arm et powerpc et ont été construits contre la version 13.04.
La dernière version disponible de gcc, pour 12.04, est la 4.8.1 et est disponible dans la chaîne d'outils PPA.
Ajout de la chaîne d’outils / test PPA:
Pour ajouter le PPA à votre système, ouvrez un terminal ( Ctrl+ Alt+ t) et exécutez les commandes suivantes:
sudo apt-get install python-software-properties
sudo add-apt-repository ppa:ubuntu-toolchain-r/test
sudo apt-get update
sudo apt-get install gcc-4.8
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.8 50
Vous serez également invité à installer un certain nombre de packages suggérés. Ces paquets sont recommandés, mais optionnels, pour l'installation de gcc-4.8.
Quelles fonctionnalités C ++ sont disponibles dans gcc-4.8 qui ne sont pas disponibles dans gcc-4.7.2?
- Selon GNU.ORG , gcc-4.7, prend en charge un certain nombre de fonctionnalités de C ++ 11 .
A partir de la version gcc-4.8, gcc-4.7 ne prend pas en charge 8 fonctionnalités sur 64 (voir Prise en charge de C ++ 0x / C ++ 11 dans GCC ).
Ces fonctionnalités sont:
Language Features
- Rvalue references for *this
- Generalized attributes
- Alignment support
- Inheriting constructors
Concurreny
- Bidirectional Fences
- Memory model
- Abandoning a process and at_quick_exit
- Thread-local storage
- Pour une liste complète des changements dans gcc-4.8, consultez le Changelist
J'ai besoin de ces fonctionnalités gcc sur 12.04 Precise, maintenant. Comment puis-je les obtenir?
Bâtiment GCC-4.8 à partir de la source:
Si vous avez besoin de gcc-4.8 sur 12.04 maintenant, votre seule option est de le compiler à partir des sources .
Veuillez lire la FAQ d'installation de GCC avant l'installation.
Vous pouvez télécharger gcc-4.8 à partir de l’un des sites miroirs de gnu.org ou directement à partir de leur serveur SVN .
Voici un exemple d’étapes pour compiler à partir de la source (voir ici pour plus de détails.) Notez que celles-ci peuvent varier en fonction de votre système et de vos préférences.
Télécharger le code source
- Faire un répertoire de construction (
mkdir gcc-build && cd gcc-build
)
- Téléchargez le fichier source:
wget http://www.netgull.com/gcc/releases/gcc-4.8.0/gcc-4.8.0.tar.bz2
(ajustez cette commande pour utiliser un site miroir approprié .
- Décompressez le fichier (
tar -xvjf <file name>
)
Installer des bibliothèques supplémentaires ( sudo apt-get install libgmp-dev libmpfr-dev libmpc-dev libc6-dev
)
- Compilez la source:
./gcc-4.8.0/configure --prefix=/app/gcc/4.8.0
- Courez
make
(Cela prendra du temps. Allez faire du café ou préparez des biscuits. ;-))
- Installez le code:
sudo make install
Une fois ce processus terminé, exécutez la commande gcc --version
pour vérifier que l'installation s'est terminée avec succès. Vous devriez voir quelque chose de similaire à la sortie suivante:
maggotbrain@foucault:~$ gcc --version
gcc (Linaro 4.8.0) 4.8.0
Copyright (C) 2013 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
La ligne du bas: Merci à tous ces gens qui fournissent facile pour installer les backports Ubuntu pour vous. Donnez-leur des biscuits que vous avez cuits en courant make
. ;-)