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

C Discussion :

Utilisation de la bibliothèques ".mat" en C


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Apprenti
    Inscrit en
    Octobre 2013
    Messages
    34
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Apprenti
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2013
    Messages : 34
    Par défaut Utilisation de la bibliothèques ".mat" en C
    Bonjour à tous,

    Je cherche actuellement à créer, grâce au langage C, un code permettant de créer un fichier ".mat" (donc compris par le logiciel Matlab). Après recherche sur mon ami google, j'ai trouver ce lien (http://www.mathworks.fr/fr/help/matl...?s_tid=doc_12b) qui propose des fonctions intéressantes.

    Cependant, je n'arrive pas à utiliser ces fonctions car mon IDE (Codes::Blocks) ne reconnais pas cette bibliothèques. Quelqu'un s'est-il comment configurer Codes::Blocks pour que je puisse utiliser ces fonctions ? J'ai fais des recherches, mais ça me re-dirige toujours vers des réponses sur la bibliothèque ".math" qui ne m'intéresse pas du tout pour le coup.

    Merci d'avance pour vos réponse ou au moins pour avoir pris la peine de lire mon post , j'ai hésité à le mettre sur le forum Matlab, pardonez-moi si je me suis trompé

    Bonne soirée.

  2. #2
    Modérateur

    Avatar de Bktero
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2009
    Messages
    4 493
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Juin 2009
    Messages : 4 493
    Billets dans le blog
    1
    Par défaut
    Matlab est assez limitant quand aux choix des compilateurs utilisables. Il y a quelques années, gcc (et donc mingw, son portage pour Windows) n'était pas accepté. CodeBlocks utilise par défaut ces compilateurs… Il faudrait vérifier cela.

    As-tu téléchargé les fichiers de la bibliothèque ? Où les as-tu récupéré ?

    Si tu n'as pas de réponses satisfaisantes ici, je pourrais déplacer la discussion sur le forum Matlab, mais je pense que tu as bien fait de poster ici d'abord.

  3. #3
    Membre averti
    Homme Profil pro
    Apprenti
    Inscrit en
    Octobre 2013
    Messages
    34
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Apprenti
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2013
    Messages : 34
    Par défaut
    Désolé c'est vrai que j'ai été un peu imprécis.

    Pour répondre à tes question, j'ai récupérer la bibliothèques "mat.h" grâce aux logiciel "MCR" (version 7.15) ou on trouve dans le dossier "C:\Program Files (x86)\MCR\v715\extern\include" le fichier "mat.h".

    Ensuite, pour l'utiliser dans Code::Blocks, je me suis inspiré de la méthode pour utiliser la pack GTK+ en insérant le "\bin" et le "\lib" aux endroits ou il faut, c'est à dire "Setting >> Compiler..." puis dans les onglets
    - "Search directories >> Compiler" j'ai rajouté "C:\Program Files (x86)\MCR\v715\extern\include"
    - "Search directories >> Linker" j'ai rajouté "C:\Program Files (x86)\MCR\v715\extern\lib"
    - "Search directories >> Ressource compiler" j'ai rajouté "C:\Program Files (x86)\MCR\v715\bin"


    Ensuite j'ai écris ma fonction :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    #include "mat.h"
     
    void createMatlabFile()
    {
        //Programme
        MATFile *fp;
        fp = matOpen("Test", "w");
    }
    Et il me renvoie comme erreur que la référence vers "matOpen" n'est pas définis (cependant il reconnait bien la librairie "mat.h" et le type "MATFile".

    Voilà vous savez tous je pense , merdi d'avance pour votre aide

  4. #4
    Modérateur

    Avatar de Bktero
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2009
    Messages
    4 493
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Juin 2009
    Messages : 4 493
    Billets dans le blog
    1
    Par défaut
    Tout comme le préprocesseur cherche dans les "includes paths" les fichiers utilisés dans les #include "...", le linker cherche les bibliothèques spécifiées dans les "library paths".

    Un peu comme dans ma signature, tu ne dis pas à ton linker le nom de la bibliothèque. Les chemins c'est bien mais il faut lui dit quoi prendre.

  5. #5
    Membre averti
    Homme Profil pro
    Apprenti
    Inscrit en
    Octobre 2013
    Messages
    34
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Apprenti
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2013
    Messages : 34
    Par défaut
    Merci pour cette réponse, j'ai essayé de mettre en oeuvre ce que tu dis dans ta signature, c'est à dire que que je suis allé dans "project >> build option" onglet "Linker settings" et j'ai rajouté "libmat" et "libmx"

    Mais maintenant, quand j'essaye de compiler, ça me met :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    == Build: Debug in Projet (compiler: GNU GCC Compiler ===
    ld.exe   cannot find -lmat
    === Build failed
    je pense que je doit rajouter quelques chose dans "Projetc >> Build option" onglet "Compiler settings >> Other options" mais je n'ai aucune idée de ce que je dois mettre

    PS : j'ai rajouter ces fichiers car il est noté en commentaire dans le fichier "mat.h" ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    /* PUBLISHed header for libmat, the MAT File library. */
    Après je sais pas s'il est nécessaire de mettre d'autres choses

  6. #6
    Modérateur

    Avatar de Bktero
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2009
    Messages
    4 493
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Juin 2009
    Messages : 4 493
    Billets dans le blog
    1
    Par défaut
    Tu peux faire un screenshot de ton onglet Linker Settings ?

    Non, tu n'as normalement rien à rajouter dans les Other Options du compilateur. Cela te permet de rajouter des options qui ne sont pas disponibles dans la liste avec les cases à cocher. Ici, c'est bien une erreur de ld, donc la compilation s'est bien passé et le problème est uniquement à l'édition des liens. Je pense que ce n'est qu'une histoire de paramètres pour le linker.

  7. #7
    Membre averti
    Homme Profil pro
    Apprenti
    Inscrit en
    Octobre 2013
    Messages
    34
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Apprenti
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2013
    Messages : 34
    Par défaut
    J'ai mis le lien en pièce jointe, ce qui se trouvent avant sert pour utiliser la bibliothèque GTK+.

    J'avoue que je suis un peu perdu, je te remercie encore de ton aide
    Images attachées Images attachées  

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