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

Windows Discussion :

Création de DLL


Sujet :

Windows

  1. #1
    J.
    J. est déconnecté
    Membre à l'essai
    Inscrit en
    Novembre 2003
    Messages
    16
    Détails du profil
    Informations forums :
    Inscription : Novembre 2003
    Messages : 16
    Points : 17
    Points
    17
    Par défaut Création de DLL
    Que doit contenir le fichier .DEF que l'on donne à manger à dllwrap pour créer une DLL?

    J'ai le .DEF suivant:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    LIBRARY subroutine.dll
    EXPORTS
    sub_1@20
    sub_2@64
    en faisant attention aux tailles (20= 4*5 paramètres, 64= 4*16 paramètres) mais quand je lance la commande:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    dllwrap --driver-name g77 --def sub.def --output-lib sub.lib *.o sub.dll
    dllwrap me répond:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    sub.exp(.edata+0x30):fake: undefined reference to 'sub_2@64'
    sub.exp(.edata+0x34):fake: undefined reference to 'sub_1@20'
    dllwrap: g77 exited with status 1
    Pour précision, mes sources sont en fortran et compilées par GNU g77

    Je vous remercie pour toute l'aide que vous pourrez m'apporter, c'est très très important

  2. #2
    Membre Expert

    Homme Profil pro
    Ingénieur R&D
    Inscrit en
    Juin 2003
    Messages
    4 506
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2003
    Messages : 4 506
    Points : 5 723
    Points
    5 723
    Par défaut
    Sans la décoration des noms ca devrait aller
    en tout cas sous vc++ je fais comme ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    LIBRARY subroutine.dll 
    EXPORTS 
    sub_1 
    sub_2

  3. #3
    J.
    J. est déconnecté
    Membre à l'essai
    Inscrit en
    Novembre 2003
    Messages
    16
    Détails du profil
    Informations forums :
    Inscription : Novembre 2003
    Messages : 16
    Points : 17
    Points
    17
    Par défaut
    Désolé, ça ne fonctionne pas, j'avais déjà essayé. Mais je crois avoir trouvé une solution:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    g77 -shared -o DLL_file OBJ_files -Wl,--kill-at,--output-def,DEF_file
    
    dllwrap --def DEF_file -o DLL_file OBJ_files
    
    dlltool -d DEF_file --dllname DLL_file --output-lib LIB_file --kill-at
    Comme ça, j'ai la librairie d'importation associée à ma dll, reste à voir si j'arrive à linker mon programme principal avec maintenant, mais je croise les doigts...

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

Discussions similaires

  1. [VB.NET]Création de .dll contenant DataSet
    Par Razaphi dans le forum Windows Forms
    Réponses: 2
    Dernier message: 03/11/2006, 11h56
  2. Création de DLL
    Par croc14 dans le forum MFC
    Réponses: 45
    Dernier message: 14/06/2006, 11h57
  3. Fichier XML -> Création de DLL
    Par Nounours666 dans le forum Langage
    Réponses: 11
    Dernier message: 19/11/2005, 18h36
  4. Problème création de DLL avec CString
    Par loupdeau dans le forum MFC
    Réponses: 3
    Dernier message: 21/07/2005, 20h55
  5. Problème création de DLL
    Par monsieur.voie.lactee dans le forum C++Builder
    Réponses: 4
    Dernier message: 12/08/2003, 16h56

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