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 :

Commande mcc, librairies


Sujet :

MATLAB

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre du Club
    Inscrit en
    Février 2006
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 9
    Par défaut Commande mcc, librairies
    Bonjour,

    je souhaite générer des codes en C à l'aide de Mtalb, pour les utiliser dans une autre application, je souhaite les compiler avec Code Composer Studio.

    J'ai donc utilisé la commande mcc, à priori tout semble fonctionner :
    g utilisé exactement la commande suivante :
    mcc -L -t c fichier.m

    j'obtiens donc mes .h et mes .c.

    Le probleme c'est lorsque je veux compiler, au moment du 'linking', certains symboles ne sont pas reconnus (tels que mclMtimes, .... donc des fonctions de Matlab). Je suppose que j'ai un problème de librairies.

    Alors j'ai rajouté tous les .lib que je trouvais dans Matlab
    Mais alors le compilateur me répond qu'il ne reconnait pas ce format...

    Help me !!

    J'ai déja cherché sur le site de mathworks, mais je n'ai pas trouvé ma réponse.

  2. #2
    Rédacteur

    Avatar de Matthieu Brucher
    Profil pro
    Développeur HPC
    Inscrit en
    Juillet 2005
    Messages
    9 810
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur HPC
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2005
    Messages : 9 810
    Par défaut
    Les bibliothèques de Matlab ont un format spécial adapté à un compilateur, si tu les utilises pour un autre, ça ne marche pas. Tu n'as pas compilé ton code en C++ à la place de C ?

  3. #3
    Membre du Club
    Inscrit en
    Février 2006
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 9
    Par défaut
    non je n'ai pas compilé en C++.

    4 - Création d'une application externe indépendante de MATLAB.
    a) Mécanisme de base
    Si l'on invoque le compilateur MATLAB avec la bonne option 'mcc -c', celui-ci génère un code C qui peut être
    intégré dans vos propres applications C.
    Après la compilation de votre application C à l'aide de l'outil 'mbuild' les différents programmes objet sont
    linkés avec les librairies suivantes :
    · 'MATLAB Math built-In Library' qui contient la version compilée de la plupart des routines
    mathématiques internes de MATLAB.
    · 'MATLAB Math Toolbox Library' qui contient la version compilée des routines mathématiques
    externes de MATLAB (script).
    · 'MATLAB Compiler Library' qui contient des routines spéciales pour la manipulations de certaines
    structures de données.
    · 'ANSI C Math library' librairie mathématique standard fourni par le constructeur de la machine.
    Vous obtenez alors un code exécutable sur toutes les plate-formes COMPAQ/DEC du Centre.
    Attention ! avant de lancer votre programme sous UNIX il faut définir la chemin ou le programme trouvera les
    librairies Matlab par la commande:
    export LD_LIBRARY_PATH=/usr/local/matlab531/extern/lib/alpha
    end

    c) Génération de programmes C pour utilisation dans une autre application C.
    Pour générer le code C approprié on tape :
    >> mcc -t -L C carre2.m
    On obtient un programme C 'carre2.c' qui peut être intégré dans un programme C externe.
    Je ne comprends pas pk ça ne marche pas !?

  4. #4
    Rédacteur

    Avatar de Matthieu Brucher
    Profil pro
    Développeur HPC
    Inscrit en
    Juillet 2005
    Messages
    9 810
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur HPC
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2005
    Messages : 9 810
    Par défaut
    Bizarre... Tu utilises quel compilateur ?

  5. #5
    Membre du Club
    Inscrit en
    Février 2006
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 9
    Par défaut
    J'utilise Code composer studio, en fait c'est au moment du 'linking' qu'il ne trouve pas les bonnes librairies. Là j'ai ressayé de rajouter des librairies Matlab. Voilà le message d'erreur :

    [Linking...] "c:\ti\c6000\cgtools\bin\cl6x" -@"Debug.lkf"
    >> error: failed to read an archive header from archive
    'Z:\librairiesMatlab\libc.lib'
    c'est l'entête qu'il comprend pas apparemment, il y a peut être un truc à faire pour créer un .lib fait pour marcher avec un compilateur C... j'en sais rien ...

  6. #6
    Rédacteur

    Avatar de Matthieu Brucher
    Profil pro
    Développeur HPC
    Inscrit en
    Juillet 2005
    Messages
    9 810
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur HPC
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2005
    Messages : 9 810
    Par défaut
    C'est pour quoi comme plateforme ? Si c'est pas pour PC, c'est même pas la peine de chercher, c'est pas compatible.

Discussions similaires

  1. Commande mcc marche pas
    Par slayer21 dans le forum MATLAB
    Réponses: 11
    Dernier message: 19/03/2009, 15h49
  2. Librairies commande g++
    Par PoseurDeQuestion dans le forum Linux
    Réponses: 2
    Dernier message: 10/02/2009, 15h37
  3. Intégration du code C généré par la commande mcc
    Par fes2010 dans le forum MATLAB
    Réponses: 5
    Dernier message: 27/08/2008, 08h43
  4. Commande mcc
    Par flzox dans le forum MATLAB
    Réponses: 28
    Dernier message: 23/10/2006, 14h55
  5. [Librairies] Récupérer le flux d'une commande ssh2
    Par badrogi dans le forum Bibliothèques et frameworks
    Réponses: 1
    Dernier message: 10/05/2006, 23h52

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