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 :

erreur de compilation sous linux


Sujet :

C

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    241
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 241
    Points : 83
    Points
    83
    Par défaut erreur de compilation sous linux
    Bonjour, j'ai compilé un projet sous Cygwin, emulation de la ligne de commande de linux. Mon projet nécessite 2 librairies libgsl et libtsp que j'ai compilé sous cygwin avec make et make install. Lors de la compilation de mon projet, j'ai l'erreur suivante:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    usr/lib/... ...i686-pc-cygwin/bin/ld cannot find -ltsp
    Pouvez vous me dire ce que cela signifie?
    Est ce lié à libtsp?
    J'ai aussi des erreurs de compile:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    config.h: 95:14: warning: no new line at end of file
    Qu'est ce que cela veut dire, j'ai compilé mon projet sous visual et je n'ai pas de message d'erreur.

    Merci

  2. #2
    Membre éprouvé
    Avatar de Pouic
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    669
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Octobre 2004
    Messages : 669
    Points : 977
    Points
    977
    Par défaut
    Pour le premier, il te manque clairement la libstp. Si tu l'as installée manuellement, il te faut passer son chemin en parametre.
    Pour le second, le message est suffisemment explicite non ? Tu ouvres ton fichier, tu vas tout en bas, et tu appuies sur <Enter> (comprtement lié à certains compilos qui supportent mal ce genre de trucs...surtout quand on fait des includes, et qu'il manque le retour chariot final, on a parfois des surprises lorsque passe le préprocesseur...)
    Software becomes slower faster than hardware becomes faster
    [size=1]
    http://xrenault.developpez.com

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    241
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 241
    Points : 83
    Points
    83
    Par défaut
    En effet, mais j'ai compillé donc installé les 2 librairies, pourquoi l'une d'entre elles ne fonctionne t elle pas, où dois je la placer et quels fichiers?
    voici mon script de compilation:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    #!/bin/sh
    gcc complex2.o gsl_functions_pinv.o matrix.o shift_fft.o Mat_fctn.o encod.o stn_encoder.c -lm -lgsl -lgslcblas -ltsp -I/usr/local/include/libtsp -I/usr/local/include -o stn_encoder
    Que signifie:
    • Pour le second, le message est suffisemment explicite non ? Tu ouvres ton fichier, tu vas tout en bas, et tu appuies sur <Enter>

    Je crois comprendre que le compilateur génere des ereurs car j'ai sauté une ligne à la fin du fichier, est ce cela?

  4. #4
    Membre éprouvé
    Avatar de Pouic
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    669
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Octobre 2004
    Messages : 669
    Points : 977
    Points
    977
    Par défaut
    Bon, ce sujet devrait être débattu dans le forum "Outils pour le développement,...".

    Ta ligne de compilation est, heu, très très peu lisible... Tu ne voudrais pas te faire un vrai Makefile, tout ça ? On y verrait plus clair... Ta lib est-elle dans le répertoire courant ? etc, etc...

    Pour la seconde question :
    Je crois comprendre que le compilateur génere des ereurs car j'ai sauté une ligne à la fin du fichier, est ce cela?
    et
    Citation Envoyé par Pouic, juste un peu plus haut
    Tu ouvres ton fichier, tu vas tout en bas, et tu appuies sur <Enter>
    Qu'est ce que tu ne comprends pas ?
    Software becomes slower faster than hardware becomes faster
    [size=1]
    http://xrenault.developpez.com

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    241
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 241
    Points : 83
    Points
    83
    Par défaut
    Ta lib est-elle dans le répertoire courant ? etc, etc...
    Je crois comprendre que le make a installé ma librairie sous cygwin/usr/lib/ puisqu'il y a les fichiers libgsl.a et libtsp.a pour les bibliothèques respectives gsl et tsp. Cependant seulement la première est prise en compte, ce qui je pense explique l'erreur "cannot find -ltsp". Si tel est le cas, où dois je mettre la bibliothèque, et quels fichiers? Si ce n'est pas le cas, que dois je faire?

    Qu'est ce que tu ne comprends pas ?
    Je ne comprend pas l'erreur:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    config.h: 95:14: warning: no new line at end of file
    Merci.

  6. #6
    Membre éclairé
    Avatar de Edouard Kaiser
    Profil pro
    Inscrit en
    Février 2004
    Messages
    521
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Février 2004
    Messages : 521
    Points : 756
    Points
    756
    Par défaut
    Certains préprocesseurs obligent a insérer une ligne vide en fin de fichier.
    La ce n'est pas le cas, alors appuis sur entrée à la fin de ton fichier pour insérer une nouvelle ligne, et tu n'auras plus ce warning

  7. #7
    Membre régulier
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    241
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 241
    Points : 83
    Points
    83
    Par défaut
    Merci, je n'ai plus d'erreurs de compilation, sauf pour la librairie libtsp que je ne parviens toujours pas à installer...

  8. #8
    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 petdelascar
    Je ne comprend pas l'erreur:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    config.h: 95:14: warning: no new line at end of file
    "Attention, il n'y a pas de [caractère] nouvelle ligne à la fin du fichier."

    95:14 signifie

    Ligne 95
    Colonne 14

    Autrement dit, la dernière ligne du fichier n'est pas complète. Tu ouvres ton fichier, tu vas en fin de fichier, tu tapes <enter> et tu sauvegardes. Problème reglé.
    Pas de Wi-Fi à la maison : CPL

  9. #9
    Rédacteur

    Avatar de gege2061
    Femme Profil pro
    Administrateur de base de données
    Inscrit en
    Juin 2004
    Messages
    5 840
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Juin 2004
    Messages : 5 840
    Points : 11 625
    Points
    11 625
    Par défaut
    Citation Envoyé par petdelascar
    Je ne comprend pas l'erreur:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    config.h: 95:14: warning: no new line at end of file

    Que signifie le warning "no new line at end of file" ?

  10. #10
    Membre régulier
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    241
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 241
    Points : 83
    Points
    83
    Par défaut
    En fait avec ce compilateur il faut ajouter une ligne vide en fin de fichier, personne n'a une idée pour mon pb de -tsp?

  11. #11
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    92
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Janvier 2004
    Messages : 92
    Points : 101
    Points
    101
    Par défaut
    essaie déjà de vérifier que ta lib est bien dans le répertoire lib indiqué à ton compilo

  12. #12
    Membre régulier
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    241
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 241
    Points : 83
    Points
    83
    Par défaut
    La librairie était mal compilée car il fallait supprimer tous les .o contenus dans les repertoires où il y avait les .c.

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

Discussions similaires

  1. Erreur lors de la compilation sous Linux
    Par lpa dans le forum PhysX et APEX
    Réponses: 15
    Dernier message: 14/10/2011, 17h10
  2. Comment gérer les erreurs de la compilation sous linux ?
    Par petitclem dans le forum Autres éditeurs
    Réponses: 15
    Dernier message: 01/08/2008, 15h53
  3. erreur a la compilation sous linux
    Par superC dans le forum wxWidgets
    Réponses: 40
    Dernier message: 10/03/2007, 12h54
  4. [mono] Compilation sous linux, erreur dans windows
    Par AlexandreP dans le forum Mono
    Réponses: 6
    Dernier message: 18/08/2006, 19h56

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