Gnu, gcc, g++, c++17
Résolu/Fermé
HiHan
-
31 janv. 2019 à 14:14
[Dal] Messages postés 6198 Date d'inscription mercredi 15 septembre 2004 Statut Contributeur Dernière intervention 13 décembre 2024 - 11 févr. 2019 à 13:17
[Dal] Messages postés 6198 Date d'inscription mercredi 15 septembre 2004 Statut Contributeur Dernière intervention 13 décembre 2024 - 11 févr. 2019 à 13:17
1 réponse
[Dal]
Messages postés
6198
Date d'inscription
mercredi 15 septembre 2004
Statut
Contributeur
Dernière intervention
13 décembre 2024
1 094
Modifié le 6 févr. 2019 à 10:05
Modifié le 6 févr. 2019 à 10:05
Salut HiHan,
La source fiable sur le support par le GNU g++ de C++17 devrait être celle-ci :
https://gcc.gnu.org/projects/cxx-status.html#cxx17
La colonne en vert indique quelles versions majeures de g++ implémentent les diverses fonctionnalités incluses dans la roadmap. La majeure partie des fonctionnalités actuellement implémentées le sont dans la version majeure 7 (la version 8 ne te donnant actuellement accès qu'à "Template argument deduction for class" P0091R3, P0512R0 en plus).
La version 7 de g++ est actuellement disponible dans les dépôts Debian "testing" ou "unstable" :
https://packages.debian.org/search?keywords=g%2B%2B
Tu as aussi la version 8 (dans ces mêmes dépôts).
Comme l'indique la page gnu.org, le support de C++17 est expérimental, et, une fois que disposes d'une version appropriée, tu devras passer certains paramètres à ta ligne de commande pour l'activer .
GCC has experimental support for the latest revision of the C++ standard, which was published in 2017.
C++17 features are available as part of "mainline" GCC in the trunk of GCC's repository and in GCC 5 and later. To enable C++17 support, add the command-line parameter -std=c++17 to your g++ command line. Or, to enable GNU extensions in addition to C++17 features, add -std=gnu++17.
Important: Because the final ISO C++17 standard is still new, GCC's support is experimental. No attempt will be made to maintain backward compatibility with implementations of C++17 features that do not reflect the final standard.
Il n'y actuellement pas de backports qui te permette d'installer de façon sûre ces paquets "testing" ou "unstable" sur un Debian "stable" (Stretch actuellement). Tu peux tenter de les installer en modifiant ton fichier /etc/apt/sources.list et en prévoyant un "pinning" dans /etc/apt/preferences pour ce paquet... mais c'est à tes risques et périls. Vérifie bien la listes des dépendances qui vont être installées sur ton système pour défaire manuellement les choses si nécessaire et lis :
https://wiki.debian.org/AptConfiguration?action=show&redirect=AptPreferences
https://wiki.debian.org/DebianTesting
https://wiki.debian.org/DontBreakDebian
Le mieux étant d'installer une machine (virtuelle éventuellement) en testing au lieu de stable, et de l'utiliser pour tes besoins de développement expérimentaux, plutôt que de mélanger des paquets d'origines diverses.
Dal
La source fiable sur le support par le GNU g++ de C++17 devrait être celle-ci :
https://gcc.gnu.org/projects/cxx-status.html#cxx17
La colonne en vert indique quelles versions majeures de g++ implémentent les diverses fonctionnalités incluses dans la roadmap. La majeure partie des fonctionnalités actuellement implémentées le sont dans la version majeure 7 (la version 8 ne te donnant actuellement accès qu'à "Template argument deduction for class" P0091R3, P0512R0 en plus).
La version 7 de g++ est actuellement disponible dans les dépôts Debian "testing" ou "unstable" :
https://packages.debian.org/search?keywords=g%2B%2B
Tu as aussi la version 8 (dans ces mêmes dépôts).
Comme l'indique la page gnu.org, le support de C++17 est expérimental, et, une fois que disposes d'une version appropriée, tu devras passer certains paramètres à ta ligne de commande pour l'activer .
GCC has experimental support for the latest revision of the C++ standard, which was published in 2017.
C++17 features are available as part of "mainline" GCC in the trunk of GCC's repository and in GCC 5 and later. To enable C++17 support, add the command-line parameter -std=c++17 to your g++ command line. Or, to enable GNU extensions in addition to C++17 features, add -std=gnu++17.
Important: Because the final ISO C++17 standard is still new, GCC's support is experimental. No attempt will be made to maintain backward compatibility with implementations of C++17 features that do not reflect the final standard.
Il n'y actuellement pas de backports qui te permette d'installer de façon sûre ces paquets "testing" ou "unstable" sur un Debian "stable" (Stretch actuellement). Tu peux tenter de les installer en modifiant ton fichier /etc/apt/sources.list et en prévoyant un "pinning" dans /etc/apt/preferences pour ce paquet... mais c'est à tes risques et périls. Vérifie bien la listes des dépendances qui vont être installées sur ton système pour défaire manuellement les choses si nécessaire et lis :
https://wiki.debian.org/AptConfiguration?action=show&redirect=AptPreferences
https://wiki.debian.org/DebianTesting
https://wiki.debian.org/DontBreakDebian
Le mieux étant d'installer une machine (virtuelle éventuellement) en testing au lieu de stable, et de l'utiliser pour tes besoins de développement expérimentaux, plutôt que de mélanger des paquets d'origines diverses.
Dal
10 févr. 2019 à 20:46
Un grand merci à cette réponse très détaillée. Je pense que je vais voir pour installer une version testing ou même sid de debian sur un autre poste, je n'ai pas envie de casser mon système et de mettre 3 heures à tout remettre en état.
Et ça me permettra de m'amuser un peu avec une version autre que stable ^^
Merci.
11 févr. 2019 à 13:17