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

Images Discussion :

error C3861: 'mxCreateUninitNumericArray': identifier not found?


Sujet :

Images

  1. #1
    Nouveau membre du Club
    Inscrit en
    Décembre 2008
    Messages
    98
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 98
    Points : 36
    Points
    36
    Par défaut error C3861: 'mxCreateUninitNumericArray': identifier not found?
    bonjour,

    lors de la compilation d'une fonction mexfunction sur visuel studio 2010. j'ai rencontré ce pb:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    error C3861: 'mxCreateUninitNumericArray': identifier not found

    Merci d'avance.

  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 302
    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 302
    Points : 52 884
    Points
    52 884
    Par défaut
    La fonction MEX mxCreateUninitNumericArray n'existe pas...
    Ingénieur indépendant en mécatronique - Conseil, conception et formation
    • Conception mécanique (Autodesk Fusion 360)
    • Impression 3D (Ultimaker)
    • Développement informatique (Python, MATLAB, C)
    • Programmation de microcontrôleur (Microchip PIC, ESP32, Raspberry Pi, Arduino…)

    « J'étais le meilleur ami que le vieux Jim avait au monde. Il fallait choisir. J'ai réfléchi un moment, puis je me suis dit : "Tant pis ! J'irai en enfer" » (Saint Huck)

  3. #3
    Nouveau membre du Club
    Inscrit en
    Décembre 2008
    Messages
    98
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 98
    Points : 36
    Points
    36
    Par défaut
    Citation Envoyé par Dut Voir le message
    La fonction MEX mxCreateUninitNumericArray n'existe pas...
    bonjour,

    sa existe dans resizeColumnsCore.cpp de matlab.dans
    C:\Program Files\MATLAB\R2009b\toolbox\images\images\private\mexsrc\misc

    Merci d'avance

  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 302
    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 302
    Points : 52 884
    Points
    52 884
    Par défaut
    Et moi je continue à te dire que cette fonction MEX n'existe pas.

    Tu as certainement dû corrompre le fichier source C++ en insérant involontairement les caractères Uninit dans la ligne de code qui fait appel à mxCreateNumericArray

    Si tu ne me crois pas, mets la ligne en commentaire et remplace mxCreateUninitNumericArray par mxCreateNumericArray :

    Code C++ : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    //    mxArray *out = mxCreateUninitNumericArray(ndims_out, size_out, mxDOUBLE_CLASS,
    //                                        mxIsComplex(prhs[0]) ? mxCOMPLEX : mxREAL);
     
        mxArray *out = mxCreateNumericArray(ndims_out, size_out, mxDOUBLE_CLASS,
                                           mxIsComplex(prhs[0]) ? mxCOMPLEX : mxREAL);
    Ingénieur indépendant en mécatronique - Conseil, conception et formation
    • Conception mécanique (Autodesk Fusion 360)
    • Impression 3D (Ultimaker)
    • Développement informatique (Python, MATLAB, C)
    • Programmation de microcontrôleur (Microchip PIC, ESP32, Raspberry Pi, Arduino…)

    « J'étais le meilleur ami que le vieux Jim avait au monde. Il fallait choisir. J'ai réfléchi un moment, puis je me suis dit : "Tant pis ! J'irai en enfer" » (Saint Huck)

  5. #5
    Nouveau membre du Club
    Inscrit en
    Décembre 2008
    Messages
    98
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 98
    Points : 36
    Points
    36
    Par défaut
    Citation Envoyé par Dut Voir le message
    Et moi je continue à te dire que cette fonction MEX n'existe pas.

    Tu as certainement dû corrompre le fichier source C++ en insérant involontairement les caractères Uninit dans la ligne de code qui fait appel à mxCreateNumericArray

    Si tu ne me crois pas, mets la ligne en commentaire et remplace mxCreateUninitNumericArray par mxCreateNumericArray :

    Code C++ : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    //    mxArray *out = mxCreateUninitNumericArray(ndims_out, size_out, mxDOUBLE_CLASS,
    //                                        mxIsComplex(prhs[0]) ? mxCOMPLEX : mxREAL);
     
        mxArray *out = mxCreateNumericArray(ndims_out, size_out, mxDOUBLE_CLASS,
                                           mxIsComplex(prhs[0]) ? mxCOMPLEX : mxREAL);
    bonjour,

    Merci

    je les remplacer.

    maintenant il apparait autres erreurs de link.
    comme:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    error LNK2019: unresolved external symbol _mxGetDimensions_730 referenced in function "void __cdecl checkInputs(int,struct mxArray_tag const * * const)" (?checkInputs@@YAXHQAPBUmxArray_tag@@@Z)
    1>hello.obj : error LNK2019: unresolved external symbol _mxGetNumberOfDimensions_730 referenced in function "void __cdecl checkInputs(int,struct mxArray_tag const * * const)" (?checkInputs@@YAXHQAPBUmxArray_tag@@@Z)
    1>hello.obj : error LNK2019: unresolved external symbol _mxIsSparse referenced in function "void __cdecl checkInputs(int,struct mxArray_tag const * * const)" (?checkInputs@@YAXHQAPBUmxArray_tag@@@Z)
    1>hello.obj : error LNK2019: unresolved external symbol _mxIsDouble referenced in function "void __cdecl checkInputs(int,struct mxArray_tag const * * const)" (?checkInputs@@YAXHQAPBUmxArray_tag@@@Z)
    1>hello.obj : error LNK2019: unresolved external symbol _mexErrMsgIdAndTxt referenced in function "void __cdecl checkInputs(int,struct mxArray_tag const * * const)" (?checkInputs@@YAXHQAPBUmxArray_tag@@@Z)
    1>hello.obj : error LNK2019: unresolved external symbol _mxFree referenced in function _mexFunction
    1>hello.obj : error LNK2019: unresolved external symbol _mxMalloc referenced in function _mexFunction
    1>hello.obj : error LNK2019: unresolved external symbol _mxGetNumberOfElements referenced in function _mexFunction
    1>hello.obj : error LNK2019: unresolved external symbol _mxCreateNumericArray_730 referenced in function _mexFunction
    1>hello.obj : error LNK2019: unresolved external symbol _mxIsComplex referenced in function _mexFunction
    1>hello.obj : error LNK2019: unresolved external symbol _mxGetImagData referenced in function _mexFunction
    1>hello.obj : error LNK2019: unresolved external symbol _mxGetData referenced in function _mexFunction
    1>hello.obj : error LNK2019: unresolved external symbol _mxGetM referenced in function _mexFunction
    1>hello.obj : error LNK2019: unresolved external symbol _mxGetN referenced in function _mexFunction
    1>MSVCRTD.lib(crtexe.obj) : error LNK2019: unresolved external symbol _main referenced in function ___tmainCRTStartup

  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 302
    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 302
    Points : 52 884
    Points
    52 884
    Par défaut
    Pourrais-tu nous expliquer ce que tu es en train de faire ?
    Ingénieur indépendant en mécatronique - Conseil, conception et formation
    • Conception mécanique (Autodesk Fusion 360)
    • Impression 3D (Ultimaker)
    • Développement informatique (Python, MATLAB, C)
    • Programmation de microcontrôleur (Microchip PIC, ESP32, Raspberry Pi, Arduino…)

    « J'étais le meilleur ami que le vieux Jim avait au monde. Il fallait choisir. J'ai réfléchi un moment, puis je me suis dit : "Tant pis ! J'irai en enfer" » (Saint Huck)

  7. #7
    Nouveau membre du Club
    Inscrit en
    Décembre 2008
    Messages
    98
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 98
    Points : 36
    Points
    36
    Par défaut
    Citation Envoyé par Dut Voir le message
    Pourrais-tu nous expliquer ce que tu es en train de faire ?
    ok,

    tous simplement je veux compiler la fonction resizeColumnsCore.cpp comme mexfunction.

    j'utilise visuel c++ 2010 et matlab 7.9.

    Merci d'avance.

  8. #8
    Rédacteur/Modérateur

    Avatar de Jerome Briot
    Homme Profil pro
    Freelance mécatronique - Conseil, conception et formation
    Inscrit en
    Novembre 2006
    Messages
    20 302
    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 302
    Points : 52 884
    Points
    52 884
    Par défaut
    Le fichier MEX compilé resizeColumnsCore.mexw32 est déjà disponible dans le dossier C:\Program Files\MATLAB\R2009b\toolbox\images\images\private

    Tu ne peux pas l'utiliser directement dans MATLAB simplement parce qu'il se trouve dans un dossier nommé "private", ce qui le rend seulement visible des fonctions qui se trouve dans le dossier parent => Private Functions
    Ingénieur indépendant en mécatronique - Conseil, conception et formation
    • Conception mécanique (Autodesk Fusion 360)
    • Impression 3D (Ultimaker)
    • Développement informatique (Python, MATLAB, C)
    • Programmation de microcontrôleur (Microchip PIC, ESP32, Raspberry Pi, Arduino…)

    « J'étais le meilleur ami que le vieux Jim avait au monde. Il fallait choisir. J'ai réfléchi un moment, puis je me suis dit : "Tant pis ! J'irai en enfer" » (Saint Huck)

  9. #9
    Nouveau membre du Club
    Inscrit en
    Décembre 2008
    Messages
    98
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 98
    Points : 36
    Points
    36
    Par défaut
    Citation Envoyé par Dut Voir le message
    Le fichier MEX compilé resizeColumnsCore.mexw32 est déjà disponible dans le dossier C:\Program Files\MATLAB\R2009b\toolbox\images\images\private

    Tu ne peux pas l'utiliser directement dans MATLAB simplement parce qu'il se trouve dans un dossier nommé "private", ce qui le rend seulement visible des fonctions qui se trouve dans le dossier parent => Private Functions
    désolé pour le dérangement,

    même j'ai essayé de compilé la fonction hello world dans visuel c++ 2010. il apparait l'erreur
    error LNK2019: unresolved external symbol _mexPrintf referenced in function _mexFunction
    en plus lorsque j'écris mex -setup dans MATLAB, Visual studio 2010 n'apparait pas comme compilateur juste celui la:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Lcc-win32 C 2.4.1 in C:\PROGRA~1\MATLAB\R2009b\sys\lcc
    est ce que la version de MATLAB ne supporte pas Visual studio 2010.

    j'utilise MATLAB 7.9.

    Merci d'avance.

  10. #10
    Rédacteur/Modérateur

    Avatar de Jerome Briot
    Homme Profil pro
    Freelance mécatronique - Conseil, conception et formation
    Inscrit en
    Novembre 2006
    Messages
    20 302
    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 302
    Points : 52 884
    Points
    52 884
    Par défaut
    Citation Envoyé par AYDIWALID Voir le message
    est ce que la version de matlab ne supporte pas visual studio 2010.
    => : Quels sont les différents compilateurs supportés ?

    Attention notre FAQ n'est plus à jour, le lien pour ta version de MATLAB est http://www.mathworks.com/support/compilers/R2009b/
    Ingénieur indépendant en mécatronique - Conseil, conception et formation
    • Conception mécanique (Autodesk Fusion 360)
    • Impression 3D (Ultimaker)
    • Développement informatique (Python, MATLAB, C)
    • Programmation de microcontrôleur (Microchip PIC, ESP32, Raspberry Pi, Arduino…)

    « J'étais le meilleur ami que le vieux Jim avait au monde. Il fallait choisir. J'ai réfléchi un moment, puis je me suis dit : "Tant pis ! J'irai en enfer" » (Saint Huck)

Discussions similaires

  1. error C3861 identifier not found
    Par h4ever dans le forum Débuter
    Réponses: 9
    Dernier message: 05/05/2014, 16h45
  2. [Error C3861] '_strdup': identifier not found
    Par stilgar_karas dans le forum Dev-C++
    Réponses: 4
    Dernier message: 26/11/2009, 10h04
  3. [Error C3861] '_strdup': identifier not found
    Par stilgar_karas dans le forum wxWidgets
    Réponses: 2
    Dernier message: 25/11/2009, 16h46
  4. Réponses: 2
    Dernier message: 07/05/2009, 11h38
  5. pb assert : identifier not found
    Par FamiDoo dans le forum C++
    Réponses: 10
    Dernier message: 21/06/2006, 17h05

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