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 :

undefined reference, dev c++


Sujet :

C

  1. #21
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    79
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 79
    Points : 24
    Points
    24
    Par défaut
    Ce n'est pas moi qui ai fait le code. C'est un exemple fourni par napac. C'est pour ça que je pense pas qu'il y a d'erreur.

    Et oui il y a quelques warnings :

    à cause de "pragma push et pop" (ignored), donc ça je sais qu'il connait pas....
    et à cause d'un #define pour une valeur déclarée deux fois... j'en mais une (la seconde à etre déclarée) en commentaire.

  2. #22
    Expert éminent sénior
    Avatar de Emmanuel Delahaye
    Profil pro
    Retraité
    Inscrit en
    Décembre 2003
    Messages
    14 512
    Détails du profil
    Informations personnelles :
    Âge : 67
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Points : 20 985
    Points
    20 985
    Par défaut
    Citation Envoyé par BenjaminLustrement
    Autre petite question subsidiaire, sous dev c++, il y a plusieurs façons de spécifier un répertoire de lib et de préciser les options au linkeur où je me trompe ? je pense dans "outils --> options du compilateur" et aussi dans "Projet --> options du projet" . Et j'imagine que les options du projet sont "prioritaires" en qques sortes.
    Oui. Les options du compilateur sont générales (par défaut pour tous les projets). Elle peuvent être 'masquées' ou complétées par les options du projet. Détails ici : http://www.developpez.net/forums/forumdisplay.php?f=374

    Au fait, Dev-C++ (développé en Delphi), est arrété depuis plus d'un an. Le projet a été réécrit en C++ et il est orienté WxWidgets et C++. Il s'appelle d'ailleurs wxDev-C++ (pour faire du C, c'est pas de la tarte, mais c'est possible...)
    Pas de Wi-Fi à la maison : CPL

  3. #23
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    79
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 79
    Points : 24
    Points
    24
    Par défaut
    alors j'ai effectivement précisé la ligne suivante dans les commandes du linkeur :

    libkercom32.lib libkercv32.lib

    et maintenant j'ai une seule erreur :

    [build error] [kercom.exe] error1

  4. #24
    Expert éminent sénior
    Avatar de Emmanuel Delahaye
    Profil pro
    Retraité
    Inscrit en
    Décembre 2003
    Messages
    14 512
    Détails du profil
    Informations personnelles :
    Âge : 67
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Points : 20 985
    Points
    20 985
    Par défaut
    Citation Envoyé par BenjaminLustrement
    Ce n'est pas moi qui ai fait le code. C'est un exemple fourni par napac. C'est pour ça que je pense pas qu'il y a d'erreur.

    Et oui il y a quelques warnings :

    à cause de "pragma push et pop" (ignored), donc ça je sais qu'il connait pas....
    et à cause d'un #define pour une valeur déclarée deux fois... j'en mais une (la seconde à etre déclarée) en commentaire.
    Je parle aussi des erreurs de link, celles dont tu parles... l'objet de ce post quoi ... On peut avoir le copier/collé ? (dans l'onglet 'build log' : click droit, select all, click droit, copy etc.)
    Pas de Wi-Fi à la maison : CPL

  5. #25
    Expert éminent sénior
    Avatar de Emmanuel Delahaye
    Profil pro
    Retraité
    Inscrit en
    Décembre 2003
    Messages
    14 512
    Détails du profil
    Informations personnelles :
    Âge : 67
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Points : 20 985
    Points
    20 985
    Par défaut
    Citation Envoyé par BenjaminLustrement
    alors j'ai effectivement précisé la ligne suivante dans les commandes du linkeur :

    libkercom32.lib libkercv32.lib

    et maintenant j'ai une seule erreur :

    [build error] [kercom.exe] error1
    Fait un rebuild all : Ctrl-F11
    Pas de Wi-Fi à la maison : CPL

  6. #26
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    79
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 79
    Points : 24
    Points
    24
    Par défaut
    Compilateur: Default compiler
    Building Makefile: "C:\Documents and Settings\Benjamin\Bureau\Fw_SNCF _ Voici le noyau de communication\KercomSNCF\TestDownloadEvents\Makefile.win"
    Exécution de make clean
    rm -f src/TestDownloadEvents.o kercom.exe

    g++.exe -c src/TestDownloadEvents.c -o src/TestDownloadEvents.o -I"C:/Dev-Cpp/lib/gcc/mingw32/3.4.2/include" -I"C:/Dev-Cpp/include/c++/3.4.2/backward" -I"C:/Dev-Cpp/include/c++/3.4.2/mingw32" -I"C:/Dev-Cpp/include/c++/3.4.2" -I"C:/Dev-Cpp/include" -I"C:/Dev-Cpp/include"

    In file included from src/inc/Kercom32.h:17,
    from src/TestDownloadEvents.c:3:
    src/inc/cs32.h:21: warning: malformed '#pragma pack(push[, id], <n>)' - ignored

    src/inc/cs32.h:87: warning: #pragma pack (pop) encountered without matching #pragma pack (push, <n>)
    In file included from src/TestDownloadEvents.c:3:
    src/inc/Kercom32.h:19: warning: malformed '#pragma pack(push[, id], <n>)' - ignored

    src/inc/Kercom32.h:859: warning: #pragma pack (pop) encountered without matching #pragma pack (push, <n>)

    In file included from src/TestDownloadEvents.c:4:
    src/inc/Kercv32.h:534: warning: malformed '#pragma pack(push[, id], <n>)' - ignored

    src/inc/Kercv32.h:1146: warning: #pragma pack (pop) encountered without matching #pragma pack (push, <n>)

    In file included from src/TestDownloadEvents.c:4:
    src/inc/Kercv32.h:1490:7: warning: no newline at end of file

    g++.exe src/TestDownloadEvents.o -o "kercom.exe" -L"C:/Dev-Cpp/lib" -L"C:/Dev-Cpp/lib" libkercv32.lib libkercom32.lib

    g++.exe: libkercv32.lib: No such file or directory
    g++.exe: libkercom32.lib: No such file or directory

    make.exe: *** [kercom.exe] Error 1

    Exécution terminée



    Voilà ! donc en fait toutes les erreurs sont encore là ...

  7. #27
    Expert éminent sénior
    Avatar de Emmanuel Delahaye
    Profil pro
    Retraité
    Inscrit en
    Décembre 2003
    Messages
    14 512
    Détails du profil
    Informations personnelles :
    Âge : 67
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Points : 20 985
    Points
    20 985
    Par défaut
    Citation Envoyé par BenjaminLustrement
    Compilateur: Default compiler
    Building Makefile: "C:\Documents and Settings\Benjamin\Bureau\Fw_SNCF _ Voici le noyau de communication\KercomSNCF\TestDownloadEvents\Makefile.win"
    Je déconseille formellement l'usage des chemins avec des espaces. Met ça ailleurs...
    Chez moi, c'est
    \devcpp pour dev-C++
    \dev\monprojet pour les projets.

    Plus court, plus simple, plus clair.
    Exécution de make clean
    rm -f src/TestDownloadEvents.o kercom.exe
    OK.
    g++.exe -c src/TestDownloadEvents.c -o src/TestDownloadEvents.o -I"C:/Dev-Cpp/lib/gcc/mingw32/3.4.2/include" -I"C:/Dev-Cpp/include/c++/3.4.2/backward" -I"C:/Dev-Cpp/include/c++/3.4.2/mingw32" -I"C:/Dev-Cpp/include/c++/3.4.2" -I"C:/Dev-Cpp/include" -I"C:/Dev-Cpp/include"
    Eeek ! Tu compiles en C++ ? Vérifie les réglages du projet et des fichiers du projet. Il doit y avoir un forçage en C++ inadéquate. Ca devrait être C.

    g++.exe src/TestDownloadEvents.o -o "kercom.exe" -L"C:/Dev-Cpp/lib" -L"C:/Dev-Cpp/lib" libkercv32.lib libkercom32.lib

    g++.exe: libkercv32.lib: No such file or directory
    g++.exe: libkercom32.lib: No such file or directory
    Ah nous y voilà. Bibliothèques inconnues. Normal, d'après ce que tu m'as dit, le nom des bibliothèques est kercv32.lib et kercom32.lib et non ce que tu as mis.

    Corrige ça déjà. Et elles sont bien en C:/Dev-Cpp/lib (une vérification visuelle ne coute rien...)
    Pas de Wi-Fi à la maison : CPL

  8. #28
    Expert éminent sénior
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 369
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 369
    Points : 41 519
    Points
    41 519
    Par défaut
    Visiblement, le code est pour Visual. Aussi bien pour les fichiers d'en-tête que pour les bibliothèques statiques d'importation.

    Emmanuel: Il ne peut pas s'être trompé dansle nom de la fonction: Pour que le compilo cherche une fonction dont le nom commence par imp__, il faut qu'elle soit déclarée en dllimport, donc déclarée.

    BenjaminLustrement : Si le nom de la fonction commence par "imp__", c'est qu'il est supposé être dans une DLL. Ou au mons, le fichier d'en-tête déclare la fonction comme se trouvant dans une DLL. Peut-être que cela réagit à certaines macros devant être définies en ligne de commande...
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  9. #29
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    79
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 79
    Points : 24
    Points
    24
    Par défaut
    Citation Envoyé par Emmanuel Delahaye
    Je déconseille formellement l'usage des chemins avec des espaces. Met ça ailleurs...
    Chez moi, c'est
    \devcpp pour dev-C++
    \dev\monprojet pour les projets.

    Plus court, plus simple, plus clair.

    OK.

    Eeek ! Tu compiles en C++ ? Vérifie les réglages du projet et des fichiers du projet. Il doit y avoir un forçage en C++ inadéquate. Ca devrait être C.


    Ah nous y voilà. Bibliothèques inconnues. Normal, d'après ce que tu m'as dit, le nom des bibliothèques est kercv32.lib et kercom32.lib et non ce que tu as mis.

    Corrige ça déjà. Et elles sont bien en C:/Dev-Cpp/lib (une vérification visuelle ne coute rien...)

    J'ai corrigé, mais rien de nouveau... (ps, j'avais renommé les librairies en ajoutant 'lib' devant, donc de ce côté là ça allait.)

    Compilateur: Default compiler
    Building Makefile: "C:\testkercom\Makefile.win"
    Exécution de make...
    make.exe -f "C:\testkercom\Makefile.win" all
    gcc.exe -c src/TestDownloadEvents.c -o src/TestDownloadEvents.o -I"C:/Dev-Cpp/include" -Wall -Wextra -O2 -Wwrite-strings -Wstrict-prototypes

    In file included from C:/Dev-Cpp/include/kercom32.h:17,
    from src/TestDownloadEvents.c:3:
    C:/Dev-Cpp/include/cs32.h:21: warning: malformed '#pragma pack(push[, id], <n>)' - ignored
    C:/Dev-Cpp/include/cs32.h:87: warning: #pragma pack (pop) encountered without matching #pragma pack (push, <n>)
    C:/Dev-Cpp/include/cs32.h:131: warning: function declaration isn't a prototype

    C:/Dev-Cpp/include/cs32.h:132: warning: function declaration isn't a prototype

    In file included from src/TestDownloadEvents.c:3:
    C:/Dev-Cpp/include/kercom32.h:19: warning: malformed '#pragma pack(push[, id], <n>)' - ignored
    C:/Dev-Cpp/include/kercom32.h:374: error: redefinition of typedef 'LPCBYTE'

    C:/Dev-Cpp/include/napac.h:102: error: previous declaration of 'LPCBYTE' was here

    C:/Dev-Cpp/include/kercom32.h:859: warning: #pragma pack (pop) encountered without matching #pragma pack (push, <n>)

    In file included from src/TestDownloadEvents.c:4:
    C:/Dev-Cpp/include/kercv32.h:534: warning: malformed '#pragma pack(push[, id], <n>)' - ignored

    C:/Dev-Cpp/include/kercv32.h:1146: warning: #pragma pack (pop) encountered without matching #pragma pack (push, <n>)

    In file included from src/TestDownloadEvents.c:4:
    C:/Dev-Cpp/include/kercv32.h:1490:7: warning: no newline at end of file
    src/TestDownloadEvents.c:11: warning: ignoring #pragma comment
    src/TestDownloadEvents.c:12: warning: ignoring #pragma comment

    make.exe: *** [src/TestDownloadEvents.o] Error 1

    Exécution terminée


    J'ai ajouté "-Wall -Wextra -O2 -Wwrite-strings -Wstrict-prototypes" dans les options du compilo.

    PS : je suis surement passé à coté quand vous m avez demandé le listing des erreurs... désolé

  10. #30
    Expert éminent sénior
    Avatar de Emmanuel Delahaye
    Profil pro
    Retraité
    Inscrit en
    Décembre 2003
    Messages
    14 512
    Détails du profil
    Informations personnelles :
    Âge : 67
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Points : 20 985
    Points
    20 985
    Par défaut
    Citation Envoyé par BenjaminLustrement
    J'ai corrigé, mais rien de nouveau... (ps, j'avais renommé les librairies en ajoutant 'lib' devant, donc de ce côté là ça allait.)
    Ce n'est pas ce qu'indiquait le linker :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    g++.exe: libkercv32.lib: No such file or directory
    g++.exe: libkercom32.lib: No such file or directory
    
    J'ai ajouté "-Wall -Wextra -O2 -Wwrite-strings -Wstrict-prototypes" dans les options du compilo.
    OK

    Le nouveau problème, c'est qu'il y a des erreurs de compilations :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    C:/Dev-Cpp/include/kercom32.h:374: error: redefinition of typedef 'LPCBYTE'
     
    C:/Dev-Cpp/include/napac.h:102: error: previous declaration of 'LPCBYTE' was here
    C'est un bug chez ton fournisseur. A voir avec eux. Ils doivent corriger et relivrer (et apprendre à utiliser leurs compilateurs correctement, ce bug est inacceptable sur un produit livré).
    .
    Pas de Wi-Fi à la maison : CPL

  11. #31
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    79
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 79
    Points : 24
    Points
    24
    Par défaut
    Ok, merci, je vais faire le nécessaire, et je leur demanderai aussi directement comment inclure dans devc++. Je voulais avancer ce week end, c'est pour ça que j'avais sollicité votre aide. Merci en tous cas, et quand je saurai, je posterai pour indiquer la solution. Merci à tous !

  12. #32
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    79
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 79
    Points : 24
    Points
    24
    Par défaut
    ça marche !

    J'ai utilisé reimp pour transformer la lib en .lib en .a .
    Aussitot, ça a marché
    A priori le programme se lance bien, j'attends demain pour réaliser le test pour de bon, je n'ai pas le materiel ici.

    Merci pour votre aide !

+ Répondre à la discussion
Cette discussion est résolue.
Page 2 sur 2 PremièrePremière 12

Discussions similaires

  1. winsock.h : undefined reference...
    Par abraxas dans le forum Dev-C++
    Réponses: 14
    Dernier message: 06/08/2012, 13h42
  2. [undefined reference]SDL + OpenGL + Dev-Cpp
    Par shenron666 dans le forum OpenGL
    Réponses: 3
    Dernier message: 25/04/2006, 13h56
  3. Compilation de xmms : undefined reference to...
    Par Michaël dans le forum Applications et environnements graphiques
    Réponses: 4
    Dernier message: 04/02/2005, 19h05
  4. undefined reference to `xmlParseFile'
    Par Clemaster dans le forum Autres éditeurs
    Réponses: 2
    Dernier message: 25/06/2004, 20h38
  5. g++ : undefined reference to ...
    Par le_barbu dans le forum Autres éditeurs
    Réponses: 16
    Dernier message: 14/05/2004, 07h23

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