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 :

impossible de compiler la fonction open [Compiler]


Sujet :

MATLAB

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2010
    Messages
    55
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2010
    Messages : 55
    Par défaut impossible de compiler la fonction open
    bonjour,
    j'ai fais un programme bidon pour montrer ce que je n'arrive pas à compiler
    je n'ai pas trouver d'info la dessus sur la faq matlab

    tout simplement je n'arrive pas à compiler la fonction open
    exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    open('manuel-utilisateur.pdf')
    marche très bien quand j’exécute directement sous matlab mais quand je compile il me dit que le fichier n'existe pas
    j'ai aussi essayé
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    uiopen('manuel-utilisateur.pdf')
    et la ça marche
    donc ce n'est pas que mon fichier n'est pas trouvé mais plutôt la fonction open qui à un souci pour la compilation ....

    le fichier .m est essai.m
    pour la compilation je tappe je signal aussi que dans mon fichier excluefile la fonction open n'en fait pas partit

    merci pour vos réponses

  2. #2
    Rédacteur/Modérateur

    Avatar de Jerome Briot
    Homme Profil pro
    Freelance mécatronique - Conseil, conception et formation
    Inscrit en
    Novembre 2006
    Messages
    20 317
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Freelance mécatronique - Conseil, conception et formation

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 317
    Par défaut
    Il existe plusieurs solutions. Le choix de l'une ou de l'autre dépendra du contexte.

    Si dans ton cas, tu cherches à joindre une documentation à ton projet, je te propose 2 solutions.

    La solution la plus simple consiste à intégrer le PDF dans l'exécutable :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    mcc -mv test.m -a manuel-utilisateur.pdf
    Avantage :
    • un seul fichier à déployer (l'exécutable)

    Inconvénients :
    • taille exécutable
    • si PDF modifié => nouvelle compilation nécessaire


    Une meilleure solution consiste à spécifier le chemin d'accès au fichier en relatif par rapport au dossier qui contient l'exécutable.

    Par exemple, si le fichier se trouve dans un sous-dossier "doc" :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    open('./doc/manuel-utilisateur.pdf')
    Avantage :
    • si contenu du PDF modifié => pas de nouvelle compilation nécessaire

    Inconvénient :
    • nécessite de conserver l'arborescence lors du déploiement


    Cela te convient-il ?

  3. #3
    Membre émérite
    Avatar de soft001
    Homme Profil pro
    Ingénieur R&D
    Inscrit en
    Avril 2008
    Messages
    409
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur R&D
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2008
    Messages : 409
    Par défaut
    J'ai une autre solution qui permet de résoudre le problème du conservation de l'arborescence lors du déploiement
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    function Test()
    T=cd;
    open([T '\manuel-utilisateur.pdf'])
    end
    Créer l'exécutable

  4. #4
    Rédacteur/Modérateur

    Avatar de Jerome Briot
    Homme Profil pro
    Freelance mécatronique - Conseil, conception et formation
    Inscrit en
    Novembre 2006
    Messages
    20 317
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Freelance mécatronique - Conseil, conception et formation

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 317
    Par défaut
    Citation Envoyé par soft001 Voir le message
    J'ai une autre solution qui permet de résoudre le problème du conservation de l'arborescence lors du déploiement
    C'est exactement la même solution que la seconde que j'ai proposée si on place le fichier PDF dans le même dossier que celui de l'exécutable :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    open('./manuel-utilisateur.pdf')
    Ta solution ne résout en rien le problème de l'arborescence.
    Le fichier PDF et l'exécutable doivent se trouver dans le même dossier.

    ET de plus, il faut utiliser FULLFILE pour concaténer les chemins => : Comment concaténer le nom d'un fichier et celui d'un répertoire ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    open(fullfile(T,'manuel-utilisateur.pdf'))

  5. #5
    Membre émérite
    Avatar de soft001
    Homme Profil pro
    Ingénieur R&D
    Inscrit en
    Avril 2008
    Messages
    409
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur R&D
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2008
    Messages : 409
    Par défaut
    Ouiiii
    En fait j'ai cru que dans la fonction il faut mettre l'adresse du fichier, je savais pas que ./ fait ça
    après je vois pas comment faire autrement

  6. #6
    Rédacteur/Modérateur

    Avatar de Jerome Briot
    Homme Profil pro
    Freelance mécatronique - Conseil, conception et formation
    Inscrit en
    Novembre 2006
    Messages
    20 317
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Freelance mécatronique - Conseil, conception et formation

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 317
    Par défaut
    Dans un cadre plus général, si c'est à l'utilisateur final de spécifier un dossier à l'exécutable, il est toujours possible d'utiliser par exemple UIGETDIR et de stocker le chemin à l'aide de SETPREF. Un simple test avec ISPREF évitera de demander à nouveau le chemin à l'utilisateur.

    Mais je pense que l'on s'éloigne du sujet initial.

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

Discussions similaires

  1. [LG] Compilation de fonction 'sans retour', ...
    Par poppels dans le forum Langage
    Réponses: 5
    Dernier message: 16/10/2005, 12h08
  2. DAO impossible d'utiliser une fonction dans un requete
    Par exter666 dans le forum VBA Access
    Réponses: 10
    Dernier message: 24/09/2005, 17h15
  3. [JOnAS][JOPE] impossible de compiler un bean
    Par Raylemon dans le forum Eclipse Java
    Réponses: 1
    Dernier message: 05/04/2005, 16h48
  4. compiler un prog open gl
    Par bobbyf dans le forum OpenGL
    Réponses: 2
    Dernier message: 11/03/2004, 08h22
  5. impossible d'utiliser ma fonction dans un insert
    Par caramel dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 10/04/2003, 15h04

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