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 :

Probleme ligne de commande gcc


Sujet :

C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 9
    Par défaut Probleme ligne de commande gcc
    Bonjour,

    j'ai un soucis, j'imagine de compilation:
    j'ai un fichier c++ (test.cpp par exemple), 2 headers (h1.h et h2.h) et une dll (h1.dll)
    j'ai bien les #include "h1.h" dans mon fichier cpp.
    lors de la compilation avec gcc, jai des erreurs du genre "undefined reference to" puis le nom de plusieurs fonctions dont les prototypes sont dans h1.h.
    J'arrive à compiler test.cpp pour obtenir test.o, mais je n'arrive pas à faire la suite pour obtenir le test.exe.
    Quelle serait la/les commandes avec gcc pour ça? j'ai l'impression qu'il y a un probleme de commande gcc / link...

    Merci de votre aide

  2. #2
    Rédacteur

    Avatar de ram-0000
    Homme Profil pro
    Consultant en sécurité
    Inscrit en
    Mai 2007
    Messages
    11 517
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultant en sécurité
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mai 2007
    Messages : 11 517
    Par défaut
    Si tu parles de dll, tu es sous Windows.

    Une DLL .dll s'accompagne toujours (sauf très rares exceptions et pas pour les débutants) d'un fichier .h pour la compilation et d'un fichier .lib pour le link.

    Si tu n'as pas ces 3 fichiers, il y a peu de chances que tu puisse utiliser ta DLL.

    Globalement et d'après ce que tu dis, tu dois génèrer ton exécutable en 2 phases :
    • La phase de compilation : gcc -c test.cpp -o test.o. Il n'est pas utilie de passer à la phase suivante tant que cette phase produit des erreurs ou des warnings.
    • La phase de link : gcc test.o -o test -lh1.lib
    Raymond
    Vous souhaitez participer à la rubrique Réseaux ? Contactez-moi

    Cafuro Cafuro est un outil SNMP dont le but est d'aider les administrateurs système et réseau à configurer leurs équipements SNMP réseau.
    e-verbe Un logiciel de conjugaison des verbes de la langue française.

    Ma page personnelle sur DVP
    .

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 9
    Par défaut
    J'ai bien le h1.lib dans mon répertoire.
    la première commande (gcc -c test.cpp -o test.o) passe bien et le .o est créé
    la deuxième (gcc test.o -o test -lh1.lib) coince et me répond:


    C:\MinGW\bin\..\lib\gcc-lib\mingw32\3.2.3\..\..\..\..\mingw32\bin\ld.exe: cannot find -lh1.dll

    h1.dll qui est pourtant bien dans le répertoire courant...

  4. #4
    Rédacteur

    Avatar de ram-0000
    Homme Profil pro
    Consultant en sécurité
    Inscrit en
    Mai 2007
    Messages
    11 517
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultant en sécurité
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mai 2007
    Messages : 11 517
    Par défaut
    tu passes bien quelquechose du genre -lh1.lib et il te répond cannot find -lh1.dll ?
    Raymond
    Vous souhaitez participer à la rubrique Réseaux ? Contactez-moi

    Cafuro Cafuro est un outil SNMP dont le but est d'aider les administrateurs système et réseau à configurer leurs équipements SNMP réseau.
    e-verbe Un logiciel de conjugaison des verbes de la langue française.

    Ma page personnelle sur DVP
    .

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 9
    Par défaut
    oops, en fait j'avais essayé aussi en mettant .dll donc jai mal recopié

    jai bien essayé -lh1.lib il répond cannot find -lh1.lib

  6. #6
    Rédacteur

    Avatar de ram-0000
    Homme Profil pro
    Consultant en sécurité
    Inscrit en
    Mai 2007
    Messages
    11 517
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultant en sécurité
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mai 2007
    Messages : 11 517
    Par défaut
    Essaye en ajoutant "-L .". Cela permet de spécifier que le répertoire des .lib est ici.

    [EDIT] pour plus de clarté : gcc test.o -o test -lh1.lib -L.
    Raymond
    Vous souhaitez participer à la rubrique Réseaux ? Contactez-moi

    Cafuro Cafuro est un outil SNMP dont le but est d'aider les administrateurs système et réseau à configurer leurs équipements SNMP réseau.
    e-verbe Un logiciel de conjugaison des verbes de la langue française.

    Ma page personnelle sur DVP
    .

Discussions similaires

  1. Réponses: 2
    Dernier message: 12/05/2009, 15h09
  2. Probleme avec la commande gcc
    Par tnouss dans le forum Linux
    Réponses: 7
    Dernier message: 08/12/2006, 12h03
  3. [NetBeans] probleme de passage a la ligne de commande
    Par trollchichon dans le forum NetBeans
    Réponses: 7
    Dernier message: 01/03/2006, 19h57
  4. Votre ligne de commande gcc
    Par sorry60 dans le forum Autres éditeurs
    Réponses: 11
    Dernier message: 16/11/2005, 16h22
  5. Réponses: 3
    Dernier message: 07/04/2003, 20h06

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