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
Salut.

Question très bête.
Où trouver un compilateur pour un code c++17 pour un système unix (debian) ?
Car je suis un peu paumé avec mes recherches, et je ne sais pas vraiment ce qu'il y a de fiables (dans le sens sources sûres) dans les liens trouvés.

Pour le moment, j'ai tenté d'installer la dernière version donnée via le site gnu (celle me mon système étant la 4.9, donc g++ std c++14 au max).
ftp://ftp.lip6.fr/pub/gcc/releases/gcc-8.2.0/

Mais comme je me mange des erreurs à la compilation lors du make, après le configure (fait sans encombres après l'install des libs nécessaires)), je ne sais si cela vaut la peine d'essayer de les résoudre ne sachant même pas si cette version de gcc supporte le c++17... Et d'ailleurs je ne sais même pas si c'est cela qu'il faut installer ou une simple lib...

Merci d'avance des informations que vous pourriez me fournir.

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
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
1
Bonsoir [Dal].

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.
0
[Dal] Messages postés 6198 Date d'inscription mercredi 15 septembre 2004 Statut Contributeur Dernière intervention 13 décembre 2024 1 094
11 févr. 2019 à 13:17
de rien HiHan, bon courage dans ton projet :-)
0