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

MATLAB Discussion :

[Compiler] erreur mex:wfdr.obj .text: undefined reference to '_round'


Sujet :

MATLAB

  1. #1
    Futur Membre du Club
    Inscrit en
    Juillet 2008
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Juillet 2008
    Messages : 13
    Points : 8
    Points
    8
    Par défaut [Compiler] erreur mex:wfdr.obj .text: undefined reference to '_round'
    bonjour,
    j'essaye de compiler un programme en c utilisant le compilateur de matlab avec les mex-files.
    une erreur qui s'affiche wfdr.obj .text: undefined reference to '_round'
    mon fichier s'appelle wfdr.c
    est ce que quelqu'un peut m'aider à comprendre le problème.
    merci d'avance

  2. #2
    Expert éminent sénior
    Avatar de Caro-Line
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    9 458
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 9 458
    Points : 14 830
    Points
    14 830
    Par défaut
    Bonjour,

    Quelle est la commande utilisée pour la compilation ?
    T'est-il possible de nous montrer le fichier que tu compiles ?

  3. #3
    Futur Membre du Club
    Inscrit en
    Juillet 2008
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Juillet 2008
    Messages : 13
    Points : 8
    Points
    8
    Par défaut
    la commande est :

  4. #4
    Expert éminent sénior
    Avatar de Caro-Line
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    9 458
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 9 458
    Points : 14 830
    Points
    14 830
    Par défaut
    As-tu essayé le mode verbose (option -v) pour avoir plus d'informations ?

    Sinon (questions que j'aurais du poser dès le début),
    peux-tu nous donner aussi :
    - version de MATLAB utilisée
    - OS
    - Compilateur sélectionné

  5. #5
    Futur Membre du Club
    Inscrit en
    Juillet 2008
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Juillet 2008
    Messages : 13
    Points : 8
    Points
    8
    Par défaut
    matlab version 7.0.1
    OS Windows
    Compilateur par défaut de matlab Lcc

  6. #6
    Expert éminent sénior
    Avatar de Caro-Line
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    9 458
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 9 458
    Points : 14 830
    Points
    14 830
    Par défaut
    En cherchant sur le site de TMW il y a pas mal de soucis avec la compilation de fichiers .c avec LCC.
    Difficile de trouver cependant ce qui pourrait correspondre exactement à ton problème.

    As-tu essayé de compiler un des fichiers exemples fournis dans MATLAB pour savoir si le problème vient de ton fichier ou de la compilation ?

  7. #7
    Futur Membre du Club
    Inscrit en
    Juillet 2008
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Juillet 2008
    Messages : 13
    Points : 8
    Points
    8
    Par défaut
    oui j'ai essayé d'autre fichier et ça a marché mais avec mon fichier non
    voilà ce que j'ai eu avec l'option -v
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
     
     >> mex -v WFDR.c
     This is mex, Copyright 1984-2003 The MathWorks, Inc. 
     
    -> Default options filename found in C:\Documents and Settings\zodzed\Application Data\MathWorks\MATLAB\R14 
    ---------------------------------------------------------------- 
    ->    Options file           = C:\Documents and Settings\zodzed\Application Data\MathWorks\MATLAB\R14\mexopts.bat 
          MATLAB                 = C:\MATLAB701 
    ->    COMPILER               = lcc 
    ->    Compiler flags: 
             COMPFLAGS           = -c -Zp8 -I"C:\MATLAB701\sys\lcc\include" -DMATLAB_MEX_FILE -noregistrylookup 
             OPTIMFLAGS          = -DNDEBUG 
             DEBUGFLAGS          = -g4 
             arguments           =  
             Name switch         = -Fo 
    ->    Pre-linking commands   =  
    ->    LINKER                 = lcclnk 
    ->    Link directives: 
             LINKFLAGS           =  -tmpdir "." -dll "C:\MATLAB701\extern\lib\win32\lcc\mexFunction.def" -L"C:\MATLAB701\sys\lcc\lib" -libpath "C:\MATLAB701\extern\lib\win32\lcc" _lib20322.obj 
             LINKFLAGSPOST       = libmx.lib libmex.lib libmat.lib 
             Name directive      = -o "WFDR.dll" 
             File link directive =  
             Lib. link directive =  
             Rsp file indicator  = @ 
    ->    Resource Compiler      = lrc -I"C:\MATLAB701\sys\lcc\include" -noregistrylookup -fo"mexversion.res" 
    ->    Resource Linker        =  
    ---------------------------------------------------------------- 
     
     
    --> "lcc  -c -Zp8 -I"C:\MATLAB701\sys\lcc\include" -DMATLAB_MEX_FILE -noregistrylookup -FoWFDR.obj -IC:\MATLAB701\extern\include -IC:\MATLAB701\simulink\include -DNDEBUG WFDR.c" 
     
    Warning WFDR.c: 349  unreachable code 
    0 errors, 1 warnings 
     
    --> "lcc -c -Zp8 -I"C:\MATLAB701\sys\lcc\include" -DMATLAB_MEX_FILE -noregistrylookup "C:\MATLAB701\sys\lcc\mex\lccstub.c" -Fo_lib20322.obj" 
     
        Contents of 2032_tmp.rsp: 
      WFDR.obj 
     
     
    --> "lcclnk -o "WFDR.dll"  -tmpdir "." -dll "C:\MATLAB701\extern\lib\win32\lcc\mexFunction.def" -L"C:\MATLAB701\sys\lcc\lib" -libpath "C:\MATLAB701\extern\lib\win32\lcc" _lib20322.obj -s @2032_tmp.rsp libmx.lib libmex.lib libmat.lib" 
     
    wfdr.obj .text: undefined reference to '_round' 
     
      C:\MATLAB701\BIN\WIN32\MEX.PL: Error: Link of 'WFDR.dll' failed. 
     
    ??? Error using ==> mex
    Unable to complete successfully

  8. #8
    Membre averti

    Inscrit en
    Août 2007
    Messages
    302
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 302
    Points : 352
    Points
    352
    Par défaut
    je ne crois pas que round() fasse partie du C standard (pre-C99), d'ou ton erreur au moment du linkage. Ceci dit tu peux l'implémenter facilement, par exemple:

    Code C : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    inline int round(double x){
       return (int)(x > 0.0 ? x + 0.5 : x - 0.5);
    }

  9. #9
    Futur Membre du Club
    Inscrit en
    Juillet 2008
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Juillet 2008
    Messages : 13
    Points : 8
    Points
    8
    Par défaut
    merci bien ça a marché

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 18/11/2012, 00h47
  2. Erreur compilation : undefine reference to '_
    Par Darksnakes dans le forum Débuter
    Réponses: 9
    Dernier message: 11/03/2009, 11h49
  3. Erreur de compilation "undefined reference"
    Par aljekeny dans le forum Débuter
    Réponses: 14
    Dernier message: 06/01/2009, 11h14
  4. Erreur compilation "undefined reference to "
    Par ViRouF dans le forum C++
    Réponses: 5
    Dernier message: 02/03/2007, 14h55

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