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 :

Unable to load mex file


Sujet :

MATLAB

  1. #1
    Membre éclairé
    Inscrit en
    Septembre 2009
    Messages
    343
    Détails du profil
    Informations forums :
    Inscription : Septembre 2009
    Messages : 343
    Par défaut Unable to load mex file
    Salut, je débute en Matlab, je suis entrain d’exécuter un code de Mathworks mais j’ai une erreur que je n’ai pas pu le corrigé l’hors du test du code.
    Voila le code voulu exécuter:

    ET voila l’erreur trouvée:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    Unable to load mex file: C:\fdtool\mblbp_featlist.dll.
    La procédure spécifiée est introuvable.
     
     
    ??? Invalid MEX-file 'C: \fdtool\mblbp_featlist.dll': La procédure spécifiée est introuvable.
     
    .
     
    Error in ==> demo_mblbp at 47
    F         = mblbp_featlist(Ny , Nx , scale);
    Je pense que l’erreur c’est aux niveaux des fichiers compiler de C (il ne le trouve pas), pouvez- vous m’aider svp ??

    Et voila le lien du code pour que vous puissiez le consulter :
    http://www.mathworks.com/matlabcentr...ection-toolbox

  2. #2
    Modérateur

    Homme Profil pro
    Ingénieur en calculs scientifiques
    Inscrit en
    Août 2007
    Messages
    4 639
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Ingénieur en calculs scientifiques

    Informations forums :
    Inscription : Août 2007
    Messages : 4 639
    Par défaut
    Salut,

    as-tu fait ce qu'il dit dans la description :
    Please run "mexme_fdt" to compile each mex-files and add fdtool directory in the matlab path.
    Pour une bonne utilisation des balises code c'est ici!
    Petit guide du voyageur MATLABien : Le forum La faq Les tutoriels Les sources


    La nature est un livre écrit en langage mathématique. Galilée.

  3. #3
    Membre éclairé
    Inscrit en
    Septembre 2009
    Messages
    343
    Détails du profil
    Informations forums :
    Inscription : Septembre 2009
    Messages : 343
    Par défaut
    l’orsque je fait run mexme_fdt voici ce qui me donne

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    >> mexme_fdt
    ??? Undefined function or variable 'ismac'.
     
    Error in ==> mexme_fdt at 49
    If (isunix || ismac)
    Pouvez-vous m’aider en m’envoyant les .dll compilé ??

  4. #4
    Membre Expert
    Avatar de tug83
    Homme Profil pro
    MATLAB Geek !
    Inscrit en
    Juin 2006
    Messages
    1 781
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Alpes de Haute Provence (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : MATLAB Geek !
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2006
    Messages : 1 781
    Par défaut
    quelle version MATLAB utilises tu?
    car ismac existe depuis la R14 seulement donc si tu bosses en R13 c'est normal que tu es ce message, à la limite modifie le if de la ligne 49 de mexme_fdt pour que ça marche...

  5. #5
    Membre éclairé
    Inscrit en
    Septembre 2009
    Messages
    343
    Détails du profil
    Informations forums :
    Inscription : Septembre 2009
    Messages : 343
    Par défaut
    voila la version de mon Matlab:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    [v,d]=version
     
    v =
     
    7.0.0.19920 (R14)
     
     
    d =
     
    May 06, 2004
    Donc c'est R14 ...d'ou vient l'erreur et comment puisse moi le corriger??

  6. #6
    Modérateur

    Homme Profil pro
    Ingénieur en calculs scientifiques
    Inscrit en
    Août 2007
    Messages
    4 639
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Ingénieur en calculs scientifiques

    Informations forums :
    Inscription : Août 2007
    Messages : 4 639
    Par défaut
    La condition "if" n'est utile que sous un système unix ou mac.

    Si tu es sous windows, il te suffit de mettre en commentaire ces quelques lignes, normalement, ça devrait marcher.
    Pour une bonne utilisation des balises code c'est ici!
    Petit guide du voyageur MATLABien : Le forum La faq Les tutoriels Les sources


    La nature est un livre écrit en langage mathématique. Galilée.

  7. #7
    Membre éclairé
    Inscrit en
    Septembre 2009
    Messages
    343
    Détails du profil
    Informations forums :
    Inscription : Septembre 2009
    Messages : 343
    Par défaut
    Oui j’ai commenté la ligne 49 de mexme_fdt de la condition if comme vous m’avez dis et maintenant il marche, mais il arrive au niveau de la compilation de haar_scale et il me fait cette erreur :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    compiling haar_scale
    Error haar_scale.c: 428  type error in argument 5 to `haar_scale'; found `struct model' expected `incomplete struct model defined at haar_scale.c 223' 
    Error haar_scale.c: 458  redeclaration of `haar_scale' previously declared at haar_scale.c 223 
    2 errors, 0 warnings 
     
      C:\MATLAB7\BIN\WIN32\MEX.PL: Error: Compile of 'haar_scale.c' failed. 
     
    ??? Error using ==> mex
    Unable to complete successfully
     
    Error in ==> mexme_fdt at 105
         eval(['mex ' str])
    Comment puisse moi corrigé cette erreur??

  8. #8
    Expert confirmé
    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
    Par défaut
    Pourquoi ne pas contacter directement l'auteur du fichier.
    De plus sur le site il est indiqué Release R2009.8 donc une version bien plus récente que la tienne.
    Peut-être que cela ne fonctionne pas avec ta version.

  9. #9
    Membre éclairé
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    62
    Détails du profil
    Informations personnelles :
    Âge : 51
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Novembre 2007
    Messages : 62
    Par défaut
    Tout à fait, j'ai bien indiqué la version de Matlab. Ceci dit celà doit marcher à partir d'une R13 ...

    Quel compilateur utilises-tu ? lcc ou msvc ?

  10. #10
    Membre éclairé
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    62
    Détails du profil
    Informations personnelles :
    Âge : 51
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Novembre 2007
    Messages : 62
    Par défaut
    Bon j'ai trouvé, tu utilises LCC. Alors avec ce compilateur, il faut que définisse la struture avant les headers des fonctions

    donc recopie la structure model de haar_scale.c avant les headers comme :

    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
    struct model
    {
    	double  *dimsItraining;
     
    	int     ny;
     
    	int     nx;
     
    	double  *rect_param;
     
    	int     nR;
     
    	unsigned int  *F;
     
    	int     nF;
     
    };
     
     
    /* Function prototypes */
     
    int Round(double);
     
    int number_haar_features(int , int , double * , int );
     
    void haar_featlist(int , int , double * , int  , unsigned int * );
     
    void MakeIntegralImage(unsigned char *, unsigned int *, int , int , unsigned int *);
     
    unsigned int Area(unsigned int * , int , int , int , int , int );
     
    void haar_scale(unsigned char * , int , int  , int , struct model  , double *);




    Voilà ca devrait marcher après

  11. #11
    Membre éclairé
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    62
    Détails du profil
    Informations personnelles :
    Âge : 51
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Novembre 2007
    Messages : 62
    Par défaut
    Autre point, les lib statitiques sont ailleurs avec LCC donc dans mexme_fdt.m, ligne 45 tu remplaces

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    lib = ['"' , fullfile(matlabroot , 'extern\lib\win32\microsoft\libmwblas.lib') ,  '"'];
    par

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    lib = ['"' , fullfile(matlabroot , 'extern\lib\win32\lcc\libmwblas.lib') ,  '"'];

  12. #12
    Membre éclairé
    Inscrit en
    Septembre 2009
    Messages
    343
    Détails du profil
    Informations forums :
    Inscription : Septembre 2009
    Messages : 343
    Par défaut
    Merci SeByDocKy, j’ai fait ce qui tu m’as dis, mais encore une erreur au niveau de la compilation de mexme_fdt
    La voila
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    compiling fast_haar_ada_weaklearner
    Could not locate C:\MATLAB7\extern\lib\win32\lcc\libmwblas.lib 
     
      C:\MATLAB7\BIN\WIN32\MEX.PL: Error: Link of 'fast_haar_ada_weaklearner.dll' failed. 
     
    ??? Error using ==> mex
    Unable to complete successfully
     
    Error in ==> mexme_fdt at 131
        eval(['mex ' str])

  13. #13
    Membre éclairé
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    62
    Détails du profil
    Informations personnelles :
    Âge : 51
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Novembre 2007
    Messages : 62
    Par défaut
    Bon ils ont aussi changé le nom de la lib depuis la R14. Fouille dans le répertoire C:\MATLAB7\extern\lib\win32\lcc\ et regarde le fichier lib statique (.lib) qui porte un nom avec soit "blas" et/ou "lapack".

  14. #14
    Membre éclairé
    Inscrit en
    Septembre 2009
    Messages
    343
    Détails du profil
    Informations forums :
    Inscription : Septembre 2009
    Messages : 343
    Par défaut
    Oui, vous avez raison SeByDocKy, le fichier lib statique (.lib) porte le nom "lapack".

    Donc j’ai change ma commande avec ceci et ça marche.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
     
    lib = ['"' , fullfile(matlabroot , 'extern\lib\win32\lcc\libmwlapack.lib') ,  '"'];

Discussions similaires

  1. Unable to load mex file
    Par rose66 dans le forum MATLAB
    Réponses: 15
    Dernier message: 25/01/2013, 16h40
  2. [JCL]Unable to load component
    Par davels dans le forum Delphi
    Réponses: 9
    Dernier message: 30/08/2006, 13h41
  3. php_ifx.dll : unable to load dynamic library
    Par fh dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 2
    Dernier message: 08/12/2005, 11h31
  4. Problème d'index avec load data file
    Par bruno782 dans le forum SQL Procédural
    Réponses: 2
    Dernier message: 09/03/2005, 12h11
  5. Unable to load...
    Par - Manuella Leray - dans le forum Apache
    Réponses: 3
    Dernier message: 04/03/2005, 09h22

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