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

MFC Discussion :

Intégrer bibliothèque complex.h sous visual


Sujet :

MFC

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    241
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 241
    Par défaut Intégrer bibliothèque complex.h sous visual
    Bonjour,
    Je tente d'intégrer la bibliothèque complex.h fournit avec dev c++ et absente à visual sous visual. Mais j''ai les messages d'erreur suivants:

    c:\c\visual\stn_encoder 26 octobre\complex.h(53) : error C2061: syntax error : identifier 'conj'
    c:\c\visual\stn_encoder 26 octobre\complex.h(53) : error C2059: syntax error : ';'
    c:\c\visual\stn_encoder 26 octobre\complex.h(53) : error C2059: syntax error : 'type'

    ligne concernée, dans complex.h:

    double _Complex __MINGW_ATTRIB_CONST conj (double _Complex);

    J'arrive à compiler mon prog sous dev mais pas sous visual, est ce du au compilateur? que dois-je faire? Merci.


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

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

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 395
    Par défaut
    je crois bien que pour le cas présent, tu peux remplacer __MINGW_ATTRIB_CONST par rien du tout, avec un bon petit:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    #define __MINGW_ATTRIB_CONST
    Par contre, avoir un en-tête qui compile ne suffit pas: si tu n'as pas le code qui va avec, l'en-tête ne te servira à rien...
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    241
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 241
    Par défaut
    Justement, pour utiliser la bibliothèque complex.h, dois je inclure d'autres fichiers? Je ne suis pas parvenu à trouver, s'il y en a, les fichiers liés à cette bibliothèque.

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    241
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 241
    Par défaut
    Autre souci de compile:

    erreur:

    c:\c\visual\stn_encoder 26 octobre\complex.h(55) : error C2061: syntax error : identifier 'cacos'
    c:\c\visual\stn_encoder 26 octobre\complex.h(55) : error C2059: syntax error : ';'
    c:\c\visual\stn_encoder 26 octobre\complex.h(55) : error C2059: syntax error : 'type'

    code:
    [/code]double _Complex cacos (double _Complex);

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    241
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 241
    Par défaut
    Autre formulation:
    Par exemple, si visual n'a pas la librairie math.h, suffit il d'inclure le fichier math.h dans le dossier include pour qu'elle puisse être prise en compte? C'est ce que j'ai fait avec la bibliothèque complex.h sans y parvenir, sous peine de messages d'erreurs.
    Si quelqu'un a une autre alternative pour pouvoir utiliser des fonctions sur des nombres complexes.

  6. #6
    Expert confirmé
    Avatar de diogene
    Homme Profil pro
    Enseignant Chercheur
    Inscrit en
    Juin 2005
    Messages
    5 761
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Enseignant Chercheur
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2005
    Messages : 5 761
    Par défaut
    Justement, pour utiliser la bibliothèque complex.h, dois je inclure d'autres fichiers?
    complex.h n'est pas une bibliothèque. C'est un fichier contenant les déclarations des types et fonctions d'une bibliothèque. Elle ne contient pas le code de la bibliothèque. Il te faut avoir complex.h ET la bibliothèque qui va avec et qui sera alors incorporée à ton programme par l'éditeur de liens (donc si tu as cette bibliothèque, il faut l'ajouter au projet)

  7. #7
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    241
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 241
    Par défaut
    Complex.h fait parti de la bibliothèque ANSI C. J'ai mis tous les .h de cette bibliothèque dans un fichier (ANSIC) puis les ai intégré au projet en créant sous visual un répertoire dans le repertoire header files. Je parviens à inclure complex.h dans mon code à l'aide de #include "ANSIC/complex.h" mais des erreurs persistent:

    c:\c\visual\stn_encoder 26 octobre\include\libansi\complex.h(52) : warning C4028: formal parameter 1 different from declaration
    c:\c\visual\stn_encoder 26 octobre\include\libansi\complex.h(53) : error C2061: syntax error : identifier 'conj'
    c:\c\visual\stn_encoder 26 octobre\include\libansi\complex.h(53) : error C2059: syntax error : ';'
    c:\c\visual\stn_encoder 26 octobre\include\libansi\complex.h(53) : error C2059: syntax error : 'type'
    c:\c\visual\stn_encoder 26 octobre\include\libansi\complex.h(54) : error C2061: syntax error : identifier 'cacos'
    etc...

    code correspondant:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    double __MINGW_ATTRIB_CONST cabs (double _Complex);
    double _Complex __MINGW_ATTRIB_CONST conj (double _Complex);
    double _Complex  cacos (double _Complex);
    Est ce due à une mauvaise inclusion de la bibliothèque de ma part ou au fait que certains fichiers de la bibliothèque ANSI que je viens d'intégrer sont redondant avec la bibliothèque standart (comme stdio.h)?
    Merci de m'aider.

  8. #8
    Invité de passage
    Étudiant
    Inscrit en
    Juin 2010
    Messages
    1
    Détails du profil
    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2010
    Messages : 1
    Par défaut C99
    Pas encore (sup)porté dans visual studio

    http://stackoverflow.com/questions/1...-visual-studio

    GCC ne respecte pas encore entièrement la norme C99, mais on sait directement ce qui ne marche pas:
    http://gcc.gnu.org/c99status.html

Discussions similaires

  1. Intégrer un ActiveX sous Visual Studio Express
    Par Bertrand_g dans le forum EDI/Outils
    Réponses: 2
    Dernier message: 15/09/2010, 16h54
  2. Réponses: 15
    Dernier message: 15/03/2010, 20h01
  3. Réponses: 1
    Dernier message: 22/10/2007, 14h23
  4. Comment avoir la bibliothèque STL sous Visual C++ ?
    Par kruskal21 dans le forum Visual C++
    Réponses: 4
    Dernier message: 04/07/2007, 14h03

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