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

Visual C++ Discussion :

Exporter un type de données dans une DLL


Sujet :

Visual C++

  1. #1
    Membre chevronné
    Avatar de kmaniche
    Inscrit en
    Janvier 2006
    Messages
    1 717
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 717
    Points : 1 884
    Points
    1 884
    Par défaut Exporter un type de données dans une DLL
    Bonjour,

    Pour résumer ce qui suit : Je veux exporter un type enum (inclu dans un .h tiers) vers une DLL, et pourvoir utiliser ses valeurs dans un autre programme appelant cette DLL.

    Le détail :
    Je developpe actuellement une nouvelle application utilisant certaines bibliothèque tierces.

    Le fichier de la solution se présente comme suit :
    1. squellete DLL : sous forme de namespace + classe (.h et .cpp)
    2. programme de Test : faisant appel à la DLL ;

    Dans une des bibliothèques il existe certain type de données cudaError sous forme d'énumération :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    enum cudaError
    {
    cudaSuccess                           =      0,
    cudaErrorMissingConfiguration         =      1,
    cudaErrorMemoryAllocation             =      2,
    cudaErrorInitializationError          =      3,
    ...
    ...
    };
    Mon problème est que je n'arrive pas à exporter ce type de données cudaError, ma tentative est la suivante :
    1. Dans le fichier .h, en dehors de définition de la classe, je fais :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    typedef enum __declspec(dllexport) cudaError myCudaError  ;
    2. Dans le programme de test de la DLL je fais :
    Le problème vient quand je veux initialiser la variable errTest avec l'une des valeurs de enum (voir plus haut) ;

    Avec ceci,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    myCudaError errtest ;
    errTest = myCudaError.cudaSuccess ;
    j'ai une erreur
    error C2228: la partie gauche de '.cudaSuccess' doit avoir un class/struct/union
    et avec ceci ,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    myCudaError errtest ;
    errTest = cudaSuccess ;
    le message est le suivant :
    error C2065: 'cudaSuccess'*: identificateur non déclaré
    Comment puis-je faie ?

    Je vous remercie par avance.

  2. #2
    Inactif  

    Homme Profil pro
    Ingénieur test de performance
    Inscrit en
    Décembre 2003
    Messages
    1 986
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur test de performance
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 986
    Points : 2 605
    Points
    2 605
    Par défaut
    Bonjour.

    error C2228: la partie gauche de '.cudaSuccess' doit avoir un class/struct/union
    Je ne suis pas certain que l'on puisse exporter des enum. En général, l'enum est définit dans un .h à inclure pour tous les types d'application.

  3. #3
    Expert éminent sénior
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 381
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 381
    Points : 41 582
    Points
    41 582
    Par défaut
    Je rejoins Moldavi, une enum (hors Framework .Net) c'est juste des définitions dans un fichier d'en-tête, le linker ne la voit jamais.

Discussions similaires

  1. Changement types de données dans une requete SQL ACCESS
    Par Moutonstar dans le forum Requêtes et SQL.
    Réponses: 3
    Dernier message: 20/11/2008, 12h14
  2. Réponses: 2
    Dernier message: 14/06/2007, 14h11
  3. Type de données dans une table
    Par skandaboy dans le forum SQL Procédural
    Réponses: 1
    Dernier message: 29/03/2007, 14h15
  4. Réponses: 3
    Dernier message: 07/02/2006, 13h26
  5. Vérification du type de données dans une procédure stockée
    Par biroule dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 16/09/2004, 11h20

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