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

Fortran Discussion :

Erreur de linking incompréhenssible


Sujet :

Fortran

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 19
    Par défaut Erreur de linking incompréhenssible
    Bonjour,

    Je me coltinne depuis ce matin une erreur de linking que je suis incapable de traduire et donc de corriger. Le programme est écrit en fortran 90 et le compilateur est lahey fortran 90.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    386|LINK: 9.1fix1 -- Copyright (C) 1986-98 Phar Lap Software, Inc.
    Error LINK.3230: Undefined symbol "A" in module "BalEqSolver.for" at location 00012D37.
    Je ne comprends pas ce qu'il se passe et je ne vois notamment pas ce qu'est ce symbole "A" dont parle le linker (d'autant plus qu'il n'y a pas de A dans le fichier à compiler) ni ce que veut dire "at location 00012D37". Est-ce que c'est un numéro de ligne en hexa? Autre chose? J'en sais rien et je comprends que dalle.

    Je vous serez très reconnaissant si vous pouviez me donner un coup de main...

  2. #2
    Modérateur

    Profil pro
    Inscrit en
    Août 2006
    Messages
    974
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Août 2006
    Messages : 974
    Par défaut
    Dans BalEqSolver.for, il y a effectivement une référence à A que le compilateur interprète comme étant une référence externe. Et pour qu'il pense que c'est une référence externe, il faut qu'il trouve une référence à A qui a l'air d'une fonction. Il reste donc 2 pistes : c'est écrit A(...) quelque part, ou il y a une instruction "external A".

    Piste possible ? Comme tu fais du F77, il est possible que tu dépasses la colonne 72 et que la version tronquée à 72 du code produise l'erreur.

    "at location 00012D37" ? C'est la position de la référence dans l'objet compilé...

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 19
    Par défaut
    Eh bien merci Sylvain de m'avoir aidé à comprendre cette erreur. Grâce à toi c'est résolu et c'était bien un a(...) qui trainait. Note bien que l'erreur était en plus issue d'un "a" minuscule ce qui est encore un peu plus embrouillant. J'ai pas pensé à chercher un a minuscule sur le coup...

    Quand au "at location 00012D37" qui correspond donc à la position de la référence dans l'objet compilé, je me demande bien qui peut s'en servir et comment pour trouver une erreur (vu qu'un fichier compilé est quasiment illisible). En tout cas pas moi.

  4. #4
    Modérateur

    Profil pro
    Inscrit en
    Août 2006
    Messages
    974
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Août 2006
    Messages : 974
    Par défaut
    A == a ? C'est simplement que le Fortran n'est pas sensible à la casse.

    Oups ! Ça peut prêter à confusion. Les compilateurs Fortran ne sont pas sensibles à la casse au niveau du source (des références à a et A sont des références à la même variable), mais si une variable caractère contient "a" et qu'une autre contient "A", elle ne sont pas considérées égales.

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

Discussions similaires

  1. erreur de link
    Par meli0207 dans le forum MFC
    Réponses: 6
    Dernier message: 04/05/2007, 10h17
  2. template et erreur de link
    Par Willand dans le forum Langage
    Réponses: 12
    Dernier message: 05/12/2006, 21h19
  3. erreur de link(age) g++
    Par corwin dans le forum Autres éditeurs
    Réponses: 1
    Dernier message: 05/05/2004, 11h33
  4. [wxWindows] Erreur de link pour ODBC
    Par ovh dans le forum wxWidgets
    Réponses: 3
    Dernier message: 28/01/2004, 15h38
  5. DirectDrawCreate erreur de link
    Par Ing_Ben dans le forum DirectX
    Réponses: 1
    Dernier message: 01/12/2002, 18h46

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