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

C++Builder Discussion :

classes dans un package inaccessibles


Sujet :

C++Builder

Vue hybride

Message pr�c�dent Message pr�c�dent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    D�cembre 2004
    Messages
    14
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : D�cembre 2004
    Messages : 14
    Par d�faut classes dans un package inaccessibles
    bonjour,

    j'ai cr�e un package avec codegear c++ builder
    dans lequel j'ai ajout� des fichiers contenant des classes
    par ex:

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
     
    class toto
    {
    public: 
    toto();
    ~toto();
    ...
    }
    j'utilise ce package en execution seulement

    lorsque je veux utiliser la classe dans un autre projet
    j'inclus evidement le .lib de mon package au projet
    et le toto.h ds le fichier ou je souhaite utiliser la classe

    cel� compile bien mais j'ai une erreur de liaison qui dit :

    [ILINK32 Erreur] Error: 'toto::~toto()' externe non r�solu, r�f�renc� depuis C:\DEV\ESSAI\SOURCES\UNIT1.OBJ
    dans les options le chemin vers la lib est bien defini

    j'ai alors essay� en mettant dans la declaration de la classe
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
     
    class __declspec( dllexport ) toto
    {
    public: 
    toto();
    ~toto();
    ...
    }
    mais cette fois ci j'ai un probleme � la liaison du package lorsque j'ai deux classes qui interagissent

    comment fait-on pour avoir acces � des classes dans un package comme on pourrait le faire � partir d'une dll?

  2. #2
    Membre �m�rite
    Homme Profil pro
    Ing�nieur d�veloppement logiciels
    Inscrit en
    Septembre 2005
    Messages
    401
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 52
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activit� : Ing�nieur d�veloppement logiciels
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2005
    Messages : 401
    Par d�faut
    Hello

    Est-ce que tu as essay� ceci:

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    class PACKAGE toto
    {
    ...
    C'est un #define sur __declspec(package)

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    D�cembre 2004
    Messages
    14
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : D�cembre 2004
    Messages : 14
    Par d�faut Resolu
    Non, je n'ai pas essaye en fait je viens de trouver la solution au probleme

    1. Il faut qu'il y ai quelque part dans le .cpp
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
     
    #pragma package(smart_init)
    ce qui permet � la compilation de se faire dans un ordre correct et de bien exporter les classes et fonctions

    2. pour que les fonctions n'appartenant pas a une classe soit egalement export�es il faut aussi mettre le
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
     
    __declspec( dllexport )
    pour la fonction
    de plus si cette fonction est egalement utilise � l'interieur du package il ne faut pas utiliser les entetes precompilees (option du projet) sinon on a une erreur de lieur du type
    l'exportation de la classe YY fait reference � la fonction XX dans le fichier YY.obj
    et ca marche tres bien apres toutes ces pr�cautions n�cessaires
    Merci tout de meme pour l'aide

+ R�pondre � la discussion
Cette discussion est r�solue.

Discussions similaires

  1. R�ponses: 3
    Dernier message: 26/06/2015, 12h05
  2. Ajout de classe dans un package
    Par jmsofy dans le forum D�buter avec Java
    R�ponses: 8
    Dernier message: 26/03/2013, 17h00
  3. [amfPhp] D�claration de classe dans un package
    Par luta dans le forum Dynamique
    R�ponses: 6
    Dernier message: 27/09/2006, 16h37
  4. R�ponses: 13
    Dernier message: 18/01/2006, 12h51
  5. [Applet]utiliser une classe d'un package dans une applet
    Par jeromejanson dans le forum Applets
    R�ponses: 1
    Dernier message: 30/06/2005, 08h13

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