J'ai créé une bibliothèque en utilisant C++, je veux créer un Python Wrapper pour cette bibliothèque et j'utilise boost.python
- Le problème est que j'ai créé .h
et .cpp
fichiers séparément et pour une raison quelconque, le fichier .so ne peut pas lier ces fichiers .cpp.
J'ai donc décidé d'utiliser simplement l'extension .hpp et d'inclure l'implémentation en tant que fichier d'en-tête. Est-ce une bonne ou une mauvaise pratique en termes de C++? J'espère télécharger mon projet sur Github, donc je veux maximiser la solution la plus optimale.
P.S. Je pense que cette question appartiendrait davantage à programmers.stackexchange.com donc si c'est le cas, quelqu'un pourrait-il migrer.
C'est une bonne idée si vous avez mélangé c ++ et c dans votre projet. Comme mentionné dans les commentaires .hpp et .h sont essentiellement les mêmes (pour la compilation de c ++, pas de c). Si vous rencontrez des problèmes pour lier votre projet, ce n'est pas à cause de vos extensions de fichier.
Dans les fichiers d'en-tête, vous "prototypez" généralement la définition de classe afin que tous les membres de votre classe puissent être utilisés, pas seulement ceux définis avant le code actuel.
Veuillez consulter: *. H ou * .hpp pour vos définitions de classe