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

GCC Discussion :

[gcc] problème linker


Sujet :

GCC

  1. #1
    Membre habitué
    Inscrit en
    Décembre 2005
    Messages
    251
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 251
    Points : 143
    Points
    143
    Par défaut [gcc] problème linker
    Bonjour,

    J'essaie de me mettre au C et j'ai quelques problème de démarrage.
    Je suis sous windows, j'ai installé mingw.
    J'arrive à compiler mes fichiers .c avec la commande J'arrive à créer un exe avec la commande Le tout avec un fichier très simple.
    Maintenant je voudrais utiliser un fichier.c qui fait appelle à une librairie ajouté. J'ai un fichier.lib est une dll.
    quand je passe les commandes :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    gcc -o monexe.exe monchier.c
    ou
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    gcc -o monexe.exe -I"C:\WINDWS\system32" monchier.c
    ou
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    gcc -o monexe.exe -L"Chemin du fichier.lib" monchier.c
    j'ai comme réponse :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    undefined reference to la fonction
    J'ai lu sur le web que c'était un problème de linker mais je n'ai pas trouvé comment indiquer la référence correctement.

    merci d'avance.

  2. #2
    Membre habitué
    Inscrit en
    Décembre 2005
    Messages
    251
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 251
    Points : 143
    Points
    143
    Par défaut
    bonjour,

    ça sera peut être plus explicite avec la commande :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    gcc -o monexe.exe -I"C:\WINDOWS\system32" fichier.c -W -Wall -ansi -pedantic
    voici la réponse :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    In file included from p16R16.H :2
                                      from fichier.c:6:
    C:/mingw/bin/................/include/stdlib.h:317:error:syntax error before "double"
    fichier.c: In fonction 'main' :
    fichier.c:23 warning: implicit declaration of fonction 'clrscr'
    fichier.c:23: error syntax error before '/' token
    fichier.c:38 warning: comparison between signed and unsigned
    fichier.c:92 warning:  implicit declaration of fonction 'delay'
    fichier.c:92: error syntax error before '/' token
    fichier.c:97: error syntax error before '/' token
    fichier.c:102: error syntax error before '/' token
    fichier.c:107: error syntax error before '/' token
    fichier.c:10 warning: unused variable 'j'

  3. #3
    Membre éprouvé
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    865
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 865
    Points : 1 069
    Points
    1 069
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    gcc -o monexe.exe -I"C:\WINDOWS\system32" fichier.c -W -Wall -ansi -pedantic
    Ca m'inquiète que tu sois obligé d'aller chercher des headers dans C:\WINDOWS\system32. Tu es sûr de ton coup ?


    Je décode le reste. Pour le moment, ce ne sont pas des erreurs de compil' mais des erreurs de link.

    >In file included from p16R16.H :2
    > from fichier.c:6:
    >C:/mingw/bin/................/include/stdlib.h:317:error:syntax error before >"double"
    Hum... ça ne sent vraiment pas bon. Une erreur de compil' dans les headers standards. Il faudrait voir tes fichiers...

    >fichier.c: In fonction 'main' :
    >fichier.c:23 warning: implicit declaration of fonction 'clrscr'
    clrscr est une fonction de la bibliothèque conio.
    Tu dois inclure conio.h.
    Tu trouveras plus d'infos ici http://conio.sourceforge.net/

    > fichier.c:23: error syntax error before '/' token
    Erreur de compilation... à corriger bien évidemment.

    > fichier.c:38 warning: comparison between signed and unsigned
    > fichier.c:92 warning: implicit declaration of fonction 'delay'
    Ouais... je ne sais pas trop. Tu dois avoir récupéré du C pour Turbo C.

    fichier.c:92: error syntax error before '/' token
    fichier.c:97: error syntax error before '/' token
    fichier.c:102: error syntax error before '/' token
    fichier.c:107: error syntax error before '/' token
    fichier.c:10 warning: unused variable 'j'


    A la lecture des erreurs, j'ai l'impression que tu as récupéré un cours s'appuyant sur Turbo C. Certaines fonctions proposées par Turbo C, comme delay, ne sont pas disponibles sur mingw, qui est plus soucieux des standards. D'où vient ce cours et de quand date t'il ?

    Je te conseille de jeter un coup d'oeil aux cours de developpez.com
    http://c.developpez.com/cours/

  4. #4
    Membre éprouvé
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    865
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 865
    Points : 1 069
    Points
    1 069
    Par défaut
    Après avoir rapidement googlelisé; j'ai découvert que P16R16.h était un fichier en relation avec le développement de cartes PCI sous Turbo C.
    Tu fais de l'électronique ?

  5. #5
    Membre habitué
    Inscrit en
    Décembre 2005
    Messages
    251
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 251
    Points : 143
    Points
    143
    Par défaut
    salut,

    bon tu as vu juste! je croyais que le turbo C était compatible avec le C.

    En ce qui concerne mon projet, je dois réaliser une JNI pour intégrer une carte PCI, en l'occurence PCI-P8R8, dans le code java d'une application. Et évidemment je code en java et pas en C.

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

Discussions similaires

  1. GCC : problème de librairies...
    Par Pico10 dans le forum Autres éditeurs
    Réponses: 10
    Dernier message: 11/07/2007, 23h05
  2. gcc : problème d'exécution
    Par Anouschka dans le forum C
    Réponses: 5
    Dernier message: 07/06/2006, 16h42
  3. [libcroco & gcc] Problème de compilation
    Par ShootDX dans le forum Autres éditeurs
    Réponses: 1
    Dernier message: 26/05/2006, 00h08
  4. Problème linker Dev-C++ sockets ws2_32
    Par Alp dans le forum Dev-C++
    Réponses: 3
    Dernier message: 07/04/2006, 19h03
  5. [GCC] Problème d'installation windows
    Par gl0be dans le forum Autres éditeurs
    Réponses: 2
    Dernier message: 13/09/2004, 12h26

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