IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Discussion :

Création de bibliothèques personnelles et espaces de nommage

  1. #1
    Membre émérite
    Avatar de VivienD
    Homme Profil pro
    Développeur logiciel
    Inscrit en
    Octobre 2009
    Messages
    523
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : Allemagne

    Informations professionnelles :
    Activité : Développeur logiciel
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Octobre 2009
    Messages : 523
    Points : 2 278
    Points
    2 278
    Par défaut Création de bibliothèques personnelles et espaces de nommage
    Bonjour,

    Je suis en train de créer une petite bibliothèque personnelle. D'après un tutoriel vidéo trouvé sur Youtube (pour les intéressés et les curieux, lien dans le post-scriptum), pour créer une nouvelle classe qui sera contenue dans cette bibliothèque, je dois utiliser une macro créée en même temps que le projet et définie comme étant la copie de Q_DECL_EXPORT ou de Q_DECL_IMPORT; dans mon cas elle s'appelle XANTHIPPE_DB_SERVER_LIB_SHARED_EXPORT. Ainsi mes prototypes de classe devront ressembler à class XANTHIPPE_DB_SERVER_LIB_SHARED_EXPORT MaNouvelleClasse : public ClasseParent;.
    Toutefois, mes nouvelles classes auront des noms singulièrement banals (du genre Engine, Socket ou Parser); c'est pourquoi je souhaite réunir toutes les nouvelles classes ainsi que tous les nouveaux éléments apportés par ma bibliothèque soient inclus dans un espace de nommage. Je voudrais simplement savoir s'il y avait une subtilité à prendre en compte lors de la création de mon espace de nommage, comme l'ajout de la macro XANTHIPPE_DB_SERVER_LIB_SHARED_EXPORT dans le prototype de mes nouvelles classes.

    Merci d'avance pour votre aide.

    PS: Tutoriel vidéo sur la création de bibliothèques dynamiques
    Auteur: voidRealms
    Titre: C++ Qt 97 - How to Create a DLL
    Lien: http://www.youtube.com/watch?v=ZewJ4iHQvXY&
    De retour, plus sportif mais toujours aussi moche.
    _____________
    Pro: Programmation en C/C++ (embarqué ou non)
    Loisir: Programmation en C++11/14/17 avec la STL ou Qt 5

  2. #2
    Inactif  


    Homme Profil pro
    Inscrit en
    Novembre 2008
    Messages
    5 288
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Secteur : Santé

    Informations forums :
    Inscription : Novembre 2008
    Messages : 5 288
    Points : 15 620
    Points
    15 620
    Par défaut
    Faut juste mettre la macro pour les classes que tu exportes (ie instanciable pour l'utilisateur de ta lib), qu'elles soient dans un namespace ou non. Ça correspond à __declspec(dllexport) et _declspec(dllimport) sous windows et rien sous linux.

    Sinon, tu n'as pas plus long comme nom de macro ?

  3. #3
    Membre émérite
    Avatar de VivienD
    Homme Profil pro
    Développeur logiciel
    Inscrit en
    Octobre 2009
    Messages
    523
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : Allemagne

    Informations professionnelles :
    Activité : Développeur logiciel
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Octobre 2009
    Messages : 523
    Points : 2 278
    Points
    2 278
    Par défaut
    Citation Envoyé par gbdivers Voir le message
    Faut juste mettre la macro pour les classes que tu exportes (ie instanciable pour l'utilisateur de ta lib), qu'elles soient dans un namespace ou non. Ça correspond à __declspec(dllexport) et _declspec(dllimport) sous windows et rien sous linux.
    [...]
    Ainsi donc, seules les nouvelles classes ont besoin d'un petit supplément lorsqu'on les lie à une bibliothèque. Bon à savoir. Merci pour la réponse et la rapidité.
    Citation Envoyé par gbdivers Voir le message
    [...]
    Sinon, tu n'as pas plus long comme nom de macro ?
    J'avais la flemme de copier tout le dictionnaire.
    Plus sérieusement, la bibliothèque s'appelle xanthippe-db_server-lib et je prévois deux autres bibliothèques (l'une pour le client et l'autre pour les éléments communs) pour mon projet, XanthippeDB.

    Sinon, la pastille s'impose, n'est-ce pas?
    De retour, plus sportif mais toujours aussi moche.
    _____________
    Pro: Programmation en C/C++ (embarqué ou non)
    Loisir: Programmation en C++11/14/17 avec la STL ou Qt 5

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [c++] Mettre un callback dans un espace de nommage ou une class
    Par Spartan03 dans le forum GTK+ avec C & C++
    Réponses: 1
    Dernier message: 20/01/2007, 16h12
  2. Réponses: 2
    Dernier message: 05/09/2006, 10h08
  3. L'espace de nommage
    Par Shakan972 dans le forum C++
    Réponses: 1
    Dernier message: 02/11/2005, 15h49
  4. Réponses: 3
    Dernier message: 10/01/2005, 12h21
  5. Pb création diagramme : bibliothèque non inscrite
    Par jeff37 dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 12/08/2004, 16h38

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo