Bonjour à tous,
Je souhaite créer un projet C++, et pouvoir le distribuer en tant que librairie. Le problème est qu'il est plutôt facile de créer des librairies C, mais avec le paradigme objet en C++, cela devient tout de suite une autre histoire.
En cherchant sur internet, je suis tomber sur ce lien qui donne quelques explications. Si j'ai bien compris, le problème pour exporter une classe est que le nommage des fonctions et la construction des classes au niveau mémoire n'est pas standardiser. Ce qui fait que d'un compilateur à l'autre voir même d'une version à l'autre, il peut y avoir des problèmes de compatibilité (ABI).
Le lien propose 3 façons de faire :
- Utiliser des méthodes C et des structures
- Utiliser le même compilateur pour la librairie et le client
- Enfin, créer une methode pour instancier ou détruire l'objet
Mais quand je regarde des projets déjà existant tel que Qt, on peut instancier naturellement des classes, en utilisant un compilateur différent.
Je souhaiterais donc savoir comment pourrais je créer une librairie C++, et pouvoir exporter mes classes, en gardant bien entendu tout le paradigme objet (héritage, polymorphisme, ...).
Je vous remercie pour votre aide !!!
Partager