Salut,
La plus grosse difficulté, lorsqu'il s'agit d'envisager un travail collaboratif, consiste à assurer l'homogénéité des outils et des versions de bibliothèques utilisés.
Le problème est d'autant plus criant que, C++11 n'étant pas encore finalisé, le support de cette norme risque de s'avérer des plus irréguliers en fonction du compilateur et surtout de la version du compilateur utilisé.
A cela s'ajoute le problème de... la version de boost que nous voudrons utiliser car il faut au minimum assurer un aspect "thread safe" et la présence de certaines bibliothèques comme signals2.
Le problème est décidément fort complexe, car il s'agit de:
Personnellement, j'utilise une version compilée par moi-même de Gcc 4.5.0 en version 64bits capable de générer également des binaires 32bits, et je disposer de la version 1.42.0 (la dernière sortie au moment d'écrire ces lignes) de boost.
- S'assurer que tout le monde puisse travailler
- S'assurer d'une compatibilité maximale du code fourni vis à vis des compilateurs émanant des différents fournisseurs
- choisir une version suffisamment stable des bibliothèques de boost que nous utiliserons mais suffisamment récente pour qu'elle fonctionne de manière "thread safe"
- Assurer la possibilité de compilation aussi bien en version 32bits qu'en version 64bits
Je dispose également sous ubuntu d'une version 64 bits de Gcc 4.4 avec également le support multilib (et une version perso de boost pour ce système).
Cependant, même si je peux transmettre ma version de Gcc à qui la souhaite, je ne peux malgré tout me résoudre à imposer son utilisation à tous.
Je souhaiterais donc que nous fassions ici la liste des compilateurs et des versions de compilateurs qui proposent, même à titre expérimental ou partiel, le support des nouvelles possibilités offertes par C++11, ainsi que les problèmes auxquels on risque d'être confrontés en termes de compatibilité.
A titre d'exemple, voici quelques questions qui nécessitent une réponse:
- Quel(les versions de)s compilateurs proposer un support, même partiel, des possibilités propres à C++11
- les versions potentiellement utilisables de visual studio travaillent-elles toujours avec un stdafx.h ou similaire
- Quelles possibilités offertes par C++11 sont elles présentes chez un des compilateurs "candidat" et absentes chez l'autre
- Quelles sont les différentes manières d'activer le support de C++11 pour les différents compilateur
- Quelle est la version minimale de boost qui pourra être utilisée pour ce projet
- A quoi devrons nous être attentifs, que devrons nous adapter afin de permettre aux différents compilateurs de travailler avec notre bibliothèque
- il y aura surement d'autres questions
Merci d'avance pour votre avis.
Partager