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] Rendre une interface MATLAB executable


Sujet :

MATLAB

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    avril 2007
    Messages
    92
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : avril 2007
    Messages : 92
    Points : 82
    Points
    82
    Par défaut [Compiler] Rendre une interface MATLAB executable
    Bonjour tous le monde,
    J'ai réaliser une interface MATLAB qui réalise divers traitements de calcul et d'affichage.
    Comment je peux rendre cet interface executable, pour que je puisse l'executer sur des ordinateurs ne contenants aucune version de MATLAB installée ?
    Merci.

  2. #2
    Membre à l'essai
    Inscrit en
    avril 2007
    Messages
    47
    Détails du profil
    Informations forums :
    Inscription : avril 2007
    Messages : 47
    Points : 21
    Points
    21
    Par défaut
    Bonjour,

    Pour 'éxecutable,beaucoup de sujets ont été posté à ce sujet,tu peux les conulter.Il y'a également un sujet qui contient commandes mcc concernant l'exécutable matlab.

    Encore une chose,ça dépend de la version.

    En tout cas tu trouveras tout ça sur des discussions déja créees.

    Bon courage

  3. #3
    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 : 42
    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
    Je viens de créer une FAQ pour cette question.
    MATLAB 8.2 (R2013b)

    le blog des MATLAB geeks

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    avril 2007
    Messages
    92
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : avril 2007
    Messages : 92
    Points : 82
    Points
    82
    Par défaut
    Salut tout le monde,

    Merci Marcusss pour ta réponse, en ce qui conserne la version de MATLAB, le travail est réalisé sur la vesrion 7.1

    Je vais consulter les discussions antérieures sur le forum. Si vous avez d'autres choses à ajouter ou d'autres solutions, je vous remercie très bien.

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    avril 2007
    Messages
    92
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : avril 2007
    Messages : 92
    Points : 82
    Points
    82
    Par défaut
    Salut
    J'ai créé une application simple "calcul.exe" pour tester la possiblilté de générer un exécutable. Je l'ai testé sur ma machine et ça marche (mon interface graphique s'ouvre) sans que Matlab soit ouvert.

    Cependant je l'ai testée sur une autre machine ça m'a envoyé au début un message d'erreur sur un dll manquant. J'ai alors installé le mcrinstaller.exe mais maintenant le console se ferme rapidement. sans démarrer l'interface.
    Connaissez-vous la cause??
    Merci d'avance

  6. #6
    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 : 42
    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
    Afin de pouvoir mieux te répondre, pourrais tu ajouter dans ta signature la version MATLAB que tu as utilisé pour générer ton standalone?

    Merci
    MATLAB 8.2 (R2013b)

    le blog des MATLAB geeks

  7. #7
    Membre à l'essai
    Inscrit en
    avril 2007
    Messages
    47
    Détails du profil
    Informations forums :
    Inscription : avril 2007
    Messages : 47
    Points : 21
    Points
    21
    Par défaut
    @ RO_Student

    Je connais le problème dont tu as parlé car moi même j'en ai été victime

    Pour y remédier,J'ai copié coller mon dossier work de matlab (qui contient les algo, même si ces derniers ne s'ouvrent pas sur une autre machine,vu qu'elle n'a pas matlab) en + le nom de ton fichier.ctf (bref ce qui sera crée avec l'exécutable) et tu installe biensur le mcr sur ta machine.

    Au fait je pense que le problème vient du fait que tu dois mettre tout ton dossier work(à savoir tes fonctions matlab).Moi en essayant cela,ça a bien fonctionné


    Essaye et dis nous si ça marche

  8. #8
    Membre régulier
    Profil pro
    Inscrit en
    avril 2007
    Messages
    92
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : avril 2007
    Messages : 92
    Points : 82
    Points
    82
    Par défaut
    Salut
    J'ai copier tous les fichiers relatifs à calcul (mon exemple simple): le .m, le .exe, etc. J'ai installé sur une autre machine en installant en premier lieu le MCRInstaller et ensuite le calcul.exe. Alors cela marche. Meme quand j'ai suprimé ensuite le .m et les .c généré. Mon application marche toujours.
    Avant de confirmer s'il s'agit de devoir copier tous les fichiers relatifs à mon application ou de commancer d'installer MCRInstaller en premier, je vais vérifier sur un autre PC. Je vous dirai.

    Permettez-moi de poser une autre question : dès que je ferme le console mon application se ferme pourrais-je rendre le console invisible??

    Merci

  9. #9
    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 : 42
    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
    Citation Envoyé par RO_student
    Meme quand j'ai suprimé ensuite le .m et les .c généré. Mon application marche toujours.
    Avant de confirmer s'il s'agit de devoir copier tous les fichiers relatifs à mon application ou de commancer d'installer MCRInstaller en premier, je vais vérifier sur un autre PC. Je vous dirai.
    Premièrement, si tu lisais ma FAQ comme écrit dans un post plus haut tu verrais la procédure à suivre .Cela n'a pas de sens de copier le .c ou le . m sur la machine de déploiement . Le MATLAB compiler a pour objectif de déployer et d'encrypter les applications!
    Deuxièmement si tu indiquais également ta version MATLAB comme également indiqué plus haut , on pourrait plus facilement te répondre.

    Merci!
    MATLAB 8.2 (R2013b)

    le blog des MATLAB geeks

  10. #10
    Membre régulier
    Profil pro
    Inscrit en
    avril 2007
    Messages
    92
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : avril 2007
    Messages : 92
    Points : 82
    Points
    82
    Par défaut
    Salut
    Ma version MATLAB est 7.1.0.246 (R14) Service Pack 3

  11. #11
    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 : 42
    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
    pardon, je n'avais pas vu que tu l'avais déjà mentionné. Insérer ta version MATLAB dans ta signature pourrait être utile à l'avenir. Sinon rappel des instructions:

    1) Installe le MCR
    2) Copie l'exe et le ctf au même endroit pour que cela fonctionne

    Quel message d'erreur as tu lorsque tu lances Calcul.exe?
    Qu'est ce que tu entends par le mot console?
    Veux tu parler de la fenetre DOS qui s'ouvre? Dans ce cas j'ai dèjà répondu à cette question sur ce forum :http://www.developpez.net/forums/sho...d.php?t=193637
    MATLAB 8.2 (R2013b)

    le blog des MATLAB geeks

  12. #12
    Membre régulier
    Profil pro
    Inscrit en
    avril 2007
    Messages
    92
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : avril 2007
    Messages : 92
    Points : 82
    Points
    82
    Par défaut
    salut
    @tug83

    Oui je veux dire par console la fenetre Dos qui s'ouvre
    J'ai consulté le lien que vous donnez
    Les 2 premières lignes m'ont ouvert un fichier nommé : "compopts.bat"
    Mais ensuite je n'ai pas su où mettre le code relatif à "set LINKFLAGS=" car je trouve deux ligne dans le fichier compopts qui commance par cette syntaxe

    Merci d'avance

  13. #13
    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 : 42
    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
    Citation Envoyé par RO_student
    Mais ensuite je n'ai pas su où mettre le code relatif à "set LINKFLAGS=" car je trouve deux ligne dans le fichier compopts qui commance par cette syntaxe
    exact j'aurais du le préciser. Il faut l'insérer justement entre ces 2 lignes de telle façon que tu aies:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     set LINKFLAGS=kernel32.lib user32.lib gdi32.lib /LIBPATH:"%LIBLOC%"
    libmmfile.lib libmatlb.lib /nologo
     set LINKFLAGS=%LINKFLAGS% /SUBSYSTEM:WINDOWS /ENTRY:mainCRTStartup
     set LINKFLAGS=%LINKFLAGS% libmx.lib libmat.lib
    MATLAB 8.2 (R2013b)

    le blog des MATLAB geeks

  14. #14
    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 : 42
    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
    Sinon il ya une astuce encore plus simple:

    1.Crée un fichier demarre.bat qui contient une ligne qui lance ton executable calcul.exe
    2. Crée un raccourci de demarre.bat sur ton bureau
    3. Ensuite clic droit sur propriétes de ton raccourci et dans propriétes tu choisis dans le champ Executer , Fenetre Réduite


    et le tour est joué!!!
    MATLAB 8.2 (R2013b)

    le blog des MATLAB geeks

  15. #15
    Membre régulier
    Profil pro
    Inscrit en
    avril 2007
    Messages
    92
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : avril 2007
    Messages : 92
    Points : 82
    Points
    82
    Par défaut
    Salut
    Merci beaucoup Modérateur
    J'ai essyé la premiere solution mais quand j'ai retaper la commande mcc j'ai reçu le message d'erreur suivant:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    LINK : fatal error LNK1181: impossible d'ouvrir le fichier en entrée 'libmatlb.lib' 
     
      D:\PROGRAM FILES\MATLAB71\BIN\WIN32\\..\MEX.PL: Error: Link of 'carre.exe' failed.
    Pour la deuxième solution : je suis débutant et je ne sais pas comment crééer un .bat

    Merci

  16. #16
    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 : 42
    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
    Pour la deuxième solution : je suis débutant et je ne sais pas comment crééer un .bat

    Merci
    tout simplement tu renommes un fichier .txt en .bat!!!
    MATLAB 8.2 (R2013b)

    le blog des MATLAB geeks

  17. #17
    Membre régulier
    Profil pro
    Inscrit en
    avril 2007
    Messages
    92
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : avril 2007
    Messages : 92
    Points : 82
    Points
    82
    Par défaut
    Salut
    Pour ce qui est exécutable je l'ai et il marche bien.

    Cependant je ne comprend toujours pas comment faire pour cette histoire de fenetre dos non plus pour ce qui de l'erreur qui s'affiche apres avoir ajouter la ligne de code dans le .bat.

    Merci de vouloir m'aider

  18. #18
    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 : 42
    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
    MATLAB 8.2 (R2013b)

    le blog des MATLAB geeks

  19. #19
    Membre régulier
    Profil pro
    Inscrit en
    avril 2007
    Messages
    92
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : avril 2007
    Messages : 92
    Points : 82
    Points
    82
    Par défaut
    Salut

    Merci c'est ce dont j'ai besoin.

    Il reste un seul problème: mon Matlab ne peut plus me générer d'exécutable et je reçois un message d'erreur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    LINK : fatal error LNK1181: impossible d'ouvrir le fichier en entrée 'libmmfile.lib' 
     
      D:\PROGRAM FILES\MATLAB71\BIN\WIN32\\..\MEX.PL: Error: Link of 'lb.exe' failed.
    Que puis-je faire?

    Merci encore une fois

Discussions similaires

  1. Réponses: 7
    Dernier message: 24/11/2009, 17h41
  2. [Compiler] Rendre mon application MATLAB executable
    Par malikakika dans le forum MATLAB
    Réponses: 1
    Dernier message: 21/02/2009, 18h42
  3. modifier une image dans un axe d'une interface Matlab
    Par sacoux dans le forum Interfaces Graphiques
    Réponses: 1
    Dernier message: 26/03/2008, 18h12
  4. [Compiler] Utiliser une fonction MATLAB en C++
    Par SlySlayer dans le forum MATLAB
    Réponses: 6
    Dernier message: 23/08/2007, 09h35
  5. Rendre une interface inactive pendant l'exécution d'un programme
    Par ploukinet dans le forum Interfaces Graphiques
    Réponses: 7
    Dernier message: 21/05/2007, 17h25

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