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

Visual C++ Discussion :

Lapack++ et application Windows Forms


Sujet :

Visual C++

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2006
    Messages : 24
    Points : 13
    Points
    13
    Par défaut Lapack++ et application Windows Forms
    Bonjour,

    Je suis en train de développer une application c++. La solution comporte normalement plusieurs projets.

    Dans l'un d'entre eux, consacré à un test (et donc simplement un projet de type CLR), j'ai écrit un code utilisant les fonctions proposées par Lapack++.

    J'ai ensuite désiré intégrer ce code à un projet de type Windows Forms... et là ça ne va plus!

    Lapack++ ne serait-il pas compatible avec cette nouvelle technologie?
    Y'a-t-il un moyen de contourner ce problème?

    Je précise qu'en faisant des includes inter-projets cela ne fonctionne pas non plus.

    Merci d'avance pour vos réponses.

  2. #2
    yan
    yan est déconnecté
    Rédacteur
    Avatar de yan
    Homme Profil pro
    Ingénieur expert
    Inscrit en
    Mars 2004
    Messages
    10 033
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur expert
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2004
    Messages : 10 033
    Points : 13 968
    Points
    13 968
    Par défaut
    Bonjour.
    Qu'elle est l'erreur???

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2006
    Messages : 24
    Points : 13
    Points
    13
    Par défaut
    Bonjour,

    Le projet appelant n'arrive pas à faire le lien externe (avec lapack++).

  4. #4
    yan
    yan est déconnecté
    Rédacteur
    Avatar de yan
    Homme Profil pro
    Ingénieur expert
    Inscrit en
    Mars 2004
    Messages
    10 033
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur expert
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2004
    Messages : 10 033
    Points : 13 968
    Points
    13 968
    Par défaut
    Citation Envoyé par li_causi Voir le message
    Bonjour,

    Le projet appelant n'arrive pas à faire le lien externe (avec lapack++).
    C'est a dire?

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2006
    Messages : 24
    Points : 13
    Points
    13
    Par défaut précision
    Pour les deux projets (appelant et appelé), j'ai précisé le dossier include, le.lib et le repertoire de bibliothèque.

    Ces options sont correctes puisque tout fonctionne très bien pour le projet appelé.

    Voici le type d'erreurs lorsque je fais l'appel :


    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
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    GraphInterface.obj : error LNK2028: jeton non résolu (0A00002B)  
    "public: int __clrcall LaGenMatDouble::cols(void)const " (? 
    cols@LaGenMatDouble@@$$FQBMHXZ) référencé dans la fonction "public:  
    class LaGenMatDouble __clrcall Alignement::align2forms(class  
    LaGenMatDouble,class LaGenMatDouble)" (?align2forms@Alignement@@$$FQ 
    $AAM?AVLaGenMatDouble@@V2@0@Z)
    GraphInterface.obj : error LNK2028: jeton non résolu (0A00002C)  
    "public: int __clrcall LaGenMatDouble::rows(void)const " (? 
    rows@LaGenMatDouble@@$$FQBMHXZ) référencé dans la fonction "public:  
    class LaGenMatDouble __clrcall Alignement::align2forms(class  
    LaGenMatDouble,class LaGenMatDouble)" (?align2forms@Alignement@@$$FQ 
    $AAM?AVLaGenMatDouble@@V2@0@Z)
    GraphInterface.obj : error LNK2028: jeton non résolu (0A000036)  
    "public: double & __clrcall LaGenMatDouble::operator()(int,int)" (?? 
    RLaGenMatDouble@@$$FQAMAANHH@Z) référencé dans la fonction "public:  
    __clrcall Alignement::Alignement(class LaGenMatDouble,class  
    LaGenMatDouble,class System::String ^)" (??0Alignement@@$$FQ 
    $AAM@VLaGenMatDouble@@0P$AAVString@System@@@Z)
    GraphInterface.obj : error LNK2028: jeton non résolu (0A00003A)  
    "public: virtual __clrcall LaVectorDouble::~LaVectorDouble(void)" (?? 
    1LaVectorDouble@@$$FUAM@XZ) référencé dans la fonction "public:  
    virtual void * __clrcall LaVectorDouble::`vector deleting  
    destructor'(unsigned int)" (??_ELaVectorDouble@@$$FUAMPAXI@Z)
    GraphInterface.obj : error LNK2028: jeton non résolu (0A00003B)  
    "public: __clrcall LaVectorDouble::LaVectorDouble(int)" (?? 
    0LaVectorDouble@@$$FQAM@H@Z) référencé dans la fonction "public: class  
    LaVectorDouble __clrcall MatriceCovariance::getValeursPropres(void)" (? 
    getValeursPropres@MatriceCovariance@@$$FQAM?AVLaVectorDouble@@XZ)

    Je ne les mets pas toutes...

    GraphInterface est le projet appelant

    Merci

  6. #6
    yan
    yan est déconnecté
    Rédacteur
    Avatar de yan
    Homme Profil pro
    Ingénieur expert
    Inscrit en
    Mars 2004
    Messages
    10 033
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur expert
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2004
    Messages : 10 033
    Points : 13 968
    Points
    13 968
    Par défaut
    Il manque un lib ou des fichier .obj autre dans ton projet.
    Qu'es ce que "class LaGenMatDouble" "class LaVectorDouble" ...

  7. #7
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2006
    Messages : 24
    Points : 13
    Points
    13
    Par défaut
    Le lib est précisé dans es propriété du projet appelant comme pour le projet appelé...qui fonctionne...

    LaGenMatDouble et LaVectorDouble sont des objets proposés par lapack++ qui me permettent de créer des matrices, des vecteurs, ...

  8. #8
    yan
    yan est déconnecté
    Rédacteur
    Avatar de yan
    Homme Profil pro
    Ingénieur expert
    Inscrit en
    Mars 2004
    Messages
    10 033
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur expert
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2004
    Messages : 10 033
    Points : 13 968
    Points
    13 968
    Par défaut
    Citation Envoyé par li_causi Voir le message
    Le lib est précisé dans es propriété du projet appelant comme pour le projet appelé...qui fonctionne...
    Dsl j'ai pas compris ce que tu as écrit...
    Sinon, est tu sur d'avoir mis la lib de lapack dans la partie link de visual?

  9. #9
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2006
    Messages : 24
    Points : 13
    Points
    13
    Par défaut
    Oui, c'est ce que la phrase voulait dire

  10. #10
    Expert éminent sénior
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 381
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 381
    Points : 41 582
    Points
    41 582
    Par défaut
    Essaie en entourant les inclusions des headers de Lapack++ de #pragma unmanaged ... #pragma managed.

  11. #11
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2006
    Messages : 24
    Points : 13
    Points
    13
    Par défaut
    Ca ne fonctionne pas non plus .

    Voici les erreurs que j'obtiens :

    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
    16
    17
     
    c:\documents and settings\administrateur\mes documents\visual studio  
    2005\projects\tfe_project\lapack\lapackpp-2.5.2\include\f2c.h(162) :  
    error C3862: '$UnnamedClass$0x1d70a442$36$::$UnnamedClass 
    $0x1d70a442$36$' : impossible de compiler une fonction non managée  
    avec /clr:pure ou /clr:safe
             #pragma unmanaged est activé
    c:\documents and settings\administrateur\mes documents\visual studio  
    2005\projects\tfe_project\lapack\lapackpp-2.5.2\include\f2c.h(162) :  
    error C3862: '$UnnamedClass$0x1d70a442$36$::operator =' : impossible  
    de compiler une fonction non managée avec /clr:pure ou /clr:safe
             #pragma unmanaged est activé
    c:\documents and settings\administrateur\mes documents\visual studio  
    2005\projects\tfe_project\lapack\lapackpp-2.5.2\include\f2c.h(173) :  
    error C3862: 'Multitype::Multitype' : impossible de compiler une  
    fonction non managée avec /clr:pure ou /clr:safe
             #pragma unmanaged est activé

  12. #12
    Expert éminent sénior
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 381
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 381
    Points : 41 582
    Points
    41 582
    Par défaut
    Ah, ben voilà le problème: Tu compiles en /clr:pure ou en /clr:safe, tu ne peux donc pas utiliser si facilement des fonctions non-managées...

    Tu dois utiliser P/Invoke, comme en C#...

  13. #13
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2006
    Messages : 24
    Points : 13
    Points
    13
    Par défaut
    Je suis heureux que tu ais trouvé l'erreur mais je n'ai pas tout compris .

    Tu saurais m'en dire plus et me dire comment procéder pour palier au problème?

    Merci beaucoup

  14. #14
    Expert éminent sénior
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 381
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 381
    Points : 41 582
    Points
    41 582
    Par défaut
    Ben... À part compiler en /clr tout court, je ne vois pas trop...

    Et encore, je peux m'être gouré, je ne suis pas trop sûr de moi, là...

  15. #15
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2006
    Messages : 24
    Points : 13
    Points
    13
    Par défaut
    Je ne pense pas que tu te sois trompé vu que en /CLR tout court ca fonctionne très bien mais pas dans une application de type WinForms.

    Le problème vient de Lapack++? Est-ce que je dois me trouver une nouvelle librairie de calcul matriciel ou est ce que ça sera pareil même avec d'autres?

    En résumé : comment puis-je faire du calcul matriciel en c++ dans une application winforms????

    Merci pour tes réponses

  16. #16
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2006
    Messages : 24
    Points : 13
    Points
    13
    Par défaut
    Je me permets de relancer le sujet car je n'ai toujours pas trouvé de solution à mon problème.

    Merci pour votre aide

  17. #17
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2006
    Messages : 24
    Points : 13
    Points
    13
    Par défaut
    Solution trouvée :

    Il fallait préciser dans les propriétés générales du projet appelant dans prise en charge du common language runtime : Prise en charge du common Langage Runtime(/clr)

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

Discussions similaires

  1. [Interaction] Comment afficher une application Windows Form dans une WPF ?
    Par Lookoum dans le forum Windows Presentation Foundation
    Réponses: 2
    Dernier message: 08/09/2008, 16h50
  2. Réponses: 12
    Dernier message: 21/08/2008, 12h22
  3. Réponses: 2
    Dernier message: 27/08/2007, 16h37
  4. Réponses: 1
    Dernier message: 12/01/2007, 21h40
  5. [WinForms]Installation Application Windows Forms
    Par JeanMarieP dans le forum Général Dotnet
    Réponses: 2
    Dernier message: 27/11/2006, 09h13

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