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

MFC Discussion :

Librairies: méthode exportée avec nom différent du code original (avec un "A" après)


Sujet :

MFC

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    157
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 157
    Points : 78
    Points
    78
    Par défaut Librairies: méthode exportée avec nom différent du code original (avec un "A" après)
    Bonjour,

    je suis en train d'essayer de compiler UltimateTCP/IP (https://www.codeproject.com/Articles...P-IP-Home-Page) pour une application dans le cadre de mon travail.

    Un truc très étrange que je n'arrive à comprendre s'est produit depuis que j'utilise l'option WINSOCK2.h (au lieu de WINSOCK.h).

    Le problème: cette librairie contient un hiérarchie de classes. Là j'ai quatre classes dérivées qui comportent toutes la méthode "SetPort" (elle n'est pas déclarée comme virtuelle dans la classe de base, je précise au cas où), une méthode publique qui affecte un entier à un membre de la classe. Le problème c'est qu'après compilation et obtention de la librairie statique, le symbole "SetPort" n'existe pas et me produit (forcément) une erreur dans le code qui utilise cette librairie. J'ai examiné la sortie de "DUMPBIN.exe /headers" et j'ai constaté qu'au lieu d'avoir "SetPort" j'ai "SetPortA" (pareil pour les quatre classes).

    Voici la déclaration de la fonction dans la classe CUT_POP3Client:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    public:
    int SetPort(unsigned int newPort);
    et la ligne correspondante dans la sortie de DUMPBIN:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    COMDAT; sym= "public: int __thiscall CUT_POP3Client::SetPortA(unsigned int)" (?SetPortA@CUT_POP3Client@@QAEHI@Z)
    Il n'y a que cette fonction qui est "renommée" de la sorte.

    Est-ce que ça dit quelque chose à quelqu'un??

    Merci d'avance.

    G13

  2. #2
    Expert éminent
    Homme Profil pro
    Ingénieur développement matériel électronique
    Inscrit en
    Décembre 2015
    Messages
    1 565
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur développement matériel électronique
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Décembre 2015
    Messages : 1 565
    Points : 7 648
    Points
    7 648
    Par défaut
    Bonjour,

    Il doit y avoir un define de Windows de SetPort vers un alias SetPortA. Ta fonction semble s'appeler exactement comme une fonction Windows. Tu peux tenter un #undef SetPort bien placé, ou bien utilise un autre nom

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    157
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 157
    Points : 78
    Points
    78
    Par défaut
    Bonsoir et merci pour l'info. J'ai finalement changé le nom, mais je regarderai la première solution également, juste histoire de...

    Merci.

    GTreize

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

Discussions similaires

  1. Export avec double quote pour variables texte
    Par brand003 dans le forum SAS Base
    Réponses: 13
    Dernier message: 15/04/2009, 18h05
  2. Réponses: 2
    Dernier message: 24/02/2008, 14h46
  3. Méthode reset avec code métier
    Par kokumbo dans le forum Struts 1
    Réponses: 4
    Dernier message: 23/11/2006, 18h18
  4. Pb export des noms de champ avec # ds EXCEL
    Par 31Steph dans le forum Access
    Réponses: 1
    Dernier message: 29/06/2006, 08h13
  5. créer des handle de nom différents avec la même procédure
    Par yannickrohel dans le forum Windows
    Réponses: 4
    Dernier message: 11/02/2006, 13h59

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