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 avec un standalone


Sujet :

MATLAB

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 11
    Points : 5
    Points
    5
    Par défaut [Compiler] Erreur avec un standalone
    Bonjour,

    j'ai un programme qui se controle avec un GUI, le GUI appel des executables, parmet de rentrer de parametres et appel d'autres fonction matlab. J'aimerais créer un executable à partir de ce programme.
    Grace à plusieurs topic du forum, j'ai reussi à créer un Gui.exe en utilisant:

    mon problème est que quand j'essaie de faire tourner Gui.exe, mon GUI s'ouvre ainsi qu'un fenetre dos (je crois que c'est normal), par contre mon GUI ne marche pas du tout, et il y a des messages d'erreurs dansla fenetre dos dès que j'appuie sur un pushbutton.

    les messages d'erreur ressemblent à ça:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
     
    reference to unknown function or variable 'Gui' while evaluating expression.
    j'ai compilé en utilisant le compilateur standard (lcc qqchose) et je suis sous matlab 6.5

    merci beaucoup

  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 828
    Points
    14 828
    Par défaut
    Pour pouvoir comprendre le problème il faudrait :
    - le message d'erreur en entier, cad avec le n° de ligne qui pose problème
    - la ligne justement qui pose problème

    Peux-tu aussi nous dire comment tu lances ton exe ?

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 11
    Points : 5
    Points
    5
    Par défaut balises
    salut et merci

    je lance l'application Gui.exe en cliquant dessus, le message d'erreur qui apparait dans la fenetre dos me dit:

    An error occurred in the callback : Gui('choix_CreateFcn',gcbo,[],guidata(gcbo))
    The error message caught was : Reference to unknown function or variable 'Gui' while evaluating expression.
    quand je lance le fichier Gui.fig depuis matlab, tout fonctionne correctement sans message d'erreur.

  4. #4
    Expert confirmé
    Avatar de tug83
    Homme Profil pro
    MATLAB Geek !
    Inscrit en
    Juin 2006
    Messages
    1 781
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    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
    Points : 4 039
    Points
    4 039
    Par défaut
    C'est plus facile avec le message d'erreur, un copier coller de ce message sur le site de TMW retourne la solution technique suivante

  5. #5
    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 828
    Points
    14 828
    Par défaut
    En fait c'est un bug connu apparemment.
    Les explications ici

  6. #6
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 11
    Points : 5
    Points
    5
    Par défaut
    je vous remercie beaucoup, ça marche nickel

  7. #7
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 11
    Points : 5
    Points
    5
    Par défaut
    j'ai encore un probleme:

    mon GUI se lance, sans soucis, tout à l'air de marcher sauf un appel à une fonction. Quand j'appui sur le pushbutton, l'erreur suivante m'est renvoyée:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    An error occurred in the callback : Gui('optimisation_Callback',gcbo,[],guidata(gcbo)) 
    The error message caught was      : Output argument 'xo' was not assigned during call to 'matlabcondor'.
    matlabcondor est une fonction qui gère l'opmisation. Je l'ai sous forme d'u mexfile.
    ses argumens d'entrée et de sortie sont:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    function [xo,vo,lambdao,trace] = matlabCondor(rhostart,rhoend,niter,p,opt);
    En fait je n'appel pas directement matlabcondor depuis le GUI, j'appel une fonction optitwist que j'ai créé et qui gere l'appel à matlab condor:

    ça donne depuis le GUI:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    X=optitwist(opt);
    Ecrinput(X);
    etdans optitwist:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    xo= matlabCondor(ptwist.rhostart,ptwist.rhoend,ptwist.niter,ptwist,ptwist.opt);
    out=xo;
    J'ai été voir sur le site tmw, j'ai essayé de changer quelques trucs mais maintenant je vois plus trop.

  8. #8
    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 828
    Points
    14 828
    Par défaut
    Et ça fonctionne bien quand tu le fais dans Matlab ?
    Le message signifie que dans le corps de matlabCondor, la variable de sortie xo n'a jamais été définie.
    Il n'y a donc a priori aucune raison que ça marche dans Matlab.

  9. #9
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 11
    Points : 5
    Points
    5
    Par défaut
    il n'y a pas de soucis quand j'execute sous matlab, tout fonctionne bien.

  10. #10
    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 828
    Points
    14 828
    Par défaut
    As-tu bien "intégré" ton fichier mex-file pour ta compilation ?
    Il faut avoir créer la structure en fichier m, et utiliser le pragma #%mex

  11. #11
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 11
    Points : 5
    Points
    5
    Par défaut
    Je n'avais pas mis le %#mex,

    quand je le mets (en haut de matlabcondor.m), le message d'erreur change et deviens:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    An error occurred in the callback : Gui('optimisation_Callback',gcbo,[],guidata(gcbo)) 
    The error message caught was      : Failed to load MEX-File : matlabcondor.

  12. #12
    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 828
    Points
    14 828
    Par défaut
    Une recherche de "Failed to load MEX-File" sur le site TMW renvoie
    Je ne suis pas sûre que cela soit le même problème mais la solution donnée est à tenter.

    Je me rappelle qu'effectivement en 6.5 il y avait toujours un certain nombre de dll à rajouter à la main, et que le truc était pas mal buggué...

    Sinon la solution (violente mais efficace) serait de faire une montée de version

  13. #13
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 11
    Points : 5
    Points
    5
    Par défaut
    merci beaucoup,
    j'ai déja été voir le lien que tu me donnes, je ne comprends pas tout, mais je crois que cela à rapport à un autre prob, je vais tenter. Par contre je ne sais pas vraiment comment rajouter les dll à la main.
    en tout cas je te remercie beaucoup et je verrais pour matlab7

Discussions similaires

  1. iReport/ compilation/ erreur avec les modulo
    Par jamesleouf dans le forum iReport
    Réponses: 5
    Dernier message: 23/04/2009, 16h37
  2. Probleme de compilation,erreur avec SAXParser
    Par makohsarah dans le forum API standards et tierces
    Réponses: 1
    Dernier message: 07/01/2007, 14h35
  3. erreur:compilation jsp avec jdev
    Par asma06 dans le forum Servlets/JSP
    Réponses: 2
    Dernier message: 11/05/2006, 16h28
  4. erreur de compilation - conflit avec Sleep
    Par timsah dans le forum C++Builder
    Réponses: 5
    Dernier message: 02/02/2006, 17h52
  5. Erreur avec Glibc en compilation croisée
    Par Senaku-seishin dans le forum Linux
    Réponses: 2
    Dernier message: 02/12/2005, 14h12

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