Ace17: Du tout. Si, dans mon projet visual de ma lib je fais "clean" (donc pour supprimer les fichiers compilés), et que je vais compiler mon projet qui utilise cette lib, ca ne link pas! (erreur lib non trouvée)
Joel F: Je ne vois pas ce que ca pourrai apporter de plus mais voici:
La déclaration de mon objet dans ma lib:
class DAttributes {
public:
DAttributes();
~DAttributes();
public:
const char *get_name();
int get_oneWay();
int get_maxSpeed();
int get_nameRef();
public:
void clear();
void set_attribute(int type, int value);
public:
std::string name;
int oneWay;
int maxSpeed;
public:
int name_ref;
};
Et dans le code de mon programme principal:
DAttributes *att = seg->attributes;
int *nr = &att->name_ref;
int nr2 = att->get_nameRef();
Si je regarde ce que vaut nr, il vaut l'adresse de l'attribut maxSpeed dans mon objet att.
Et nr2 vaut la valeur de maxSpeed.
Donc il y a bien un décalage.
Bon je précise que j'ai rajouté des accesseurs (get_maxSpeed, get_nameRef) à ma classe DAttributes, et qu'en passant par ces fonctions, je n'ai plus de problème.
(Mais bon, ca reste quand même pas très normal ce décalage...)