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 Discussion :

dll pas à pas manque un pas.


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre très actif Avatar de J4e8a16n
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    271
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 271
    Par défaut dll pas à pas manque un pas.
    Bonjour à tous,

    Dela doc GCC : http://www.cygwin.com/cygwin-ug-net/dll.html#dll-build

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
     
    #include <stdio.h>
    int
    hello()
    {
      printf ("Hello World!\n");
    }  
    First compile mydll.c to object code:
    gcc -c mydll.c
    Then, tell gcc that it is building a shared library:
    gcc -shared -o mydll.dll mydll.o
    That s it! To finish up the example, you can now link to the dll with a simple program:
    int 
    main ()
    {
      hello ();
    }  
    Then link to your dll with a command like:
    gcc -o myprog myprog.ca -L./ -lmydll
    gcc: myprog.ca: No such file or directory

    D'où est-il supposé provenir ce fichier myprog avec l'extension point ca?

    JPD

  2. #2
    Membre Expert
    Profil pro
    Inscrit en
    Août 2006
    Messages
    1 104
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 1 104
    Par défaut
    Si je comprends bien, le fichier .ca c'est le second code source (?).

    EDIT: euh... je viens d'aller voir ta page. Je ne vois pas de ".ca". C'est bien l'extension ".c".

  3. #3
    Membre très actif Avatar de J4e8a16n
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    271
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 271
    Par défaut
    C'est exact. Je te remercie. J'avais downloadé une version de cette page il u a quelques années où il étrait écrit .ca au lieu de c. Erreur de frappe qui m'a causé bien du souci.

    Je viens de recompiler et le programme fonctionne si on corrige les sources ainsi:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
     
    ----------- mydll.c -------
    #include <stdio.h>
     
    void  hello(void)
    {
    printf ("Hello World!\n");
    }  
     
    ----------------
     
    ------  myprog --------
    int hello(void);
     
    int  main (void)
    {
      hello ();
     
     return 0;
    }  
    ----------------
    $ gcc -W -Wall -mno-cygwin  -c mydll.c
    $ gcc -W -Wall -mno-cygwin -shared -o mydll.dll mydll.o
    $ gcc -W -Wall -mno-cygwin  -o myprog myprog.c -L./ -lmydll

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

Discussions similaires

  1. Monodevelop et DLL dont on n'a pas le source.
    Par §Gama§ dans le forum Linux
    Réponses: 3
    Dernier message: 15/07/2010, 21h19
  2. DLL fonctionne sur 32 et pas sur 64
    Par HamzuS The Great dans le forum C++/CLI
    Réponses: 3
    Dernier message: 08/01/2010, 15h46
  3. DLL créer ne se charge pas avec regsvr32 ?
    Par Chikh001 dans le forum C++
    Réponses: 2
    Dernier message: 25/10/2007, 15h01
  4. [DLL] il ne me créé pas le fichier .lib
    Par Ruffi dans le forum MFC
    Réponses: 4
    Dernier message: 23/11/2005, 14h48
  5. Réponses: 2
    Dernier message: 19/10/2005, 19h39

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