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 :

Probleme définition librairie


Sujet :

C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Étudiant
    Inscrit en
    Juin 2009
    Messages
    66
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2009
    Messages : 66
    Par défaut Probleme définition librairie
    Bonjour,

    je cherche a appeler mes librairie suivant OS.

    Mais sa ne marche pas...


    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
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    #if os==WINDOWS
     
    #include <shlwapi.h> // Pour utiliser la fonction PathFindFileName
    #include <windows.h>
    #include <tchar.h>
    #include <stdlib.h>
    #include <stdio.h>
    #include <iostream>
    #include <time.h>
    #include <cstdlib>
    #include <fstream>
    using namespace std;
    #include <winsock2.h>
    #include <string>
    #include <limits>
    #include <MYSQL/mysql.h>
    #define __WIN__
    #include <sstream>
     
     
     
    #endif
     
    #if os==UNIX
    #include <linux.h>
    #include <tchar.h>
    #include <stdlib.h>
    #include <stdio.h>
    #include <iostream>
    #include <time.h>
    #include <cstdlib>
    #include <fstream>
    using namespace std;
    #include <sys/types.h>
    #include <sys/socket.h>
    #include <string>
    #include <limits>
    #include <MYSQL/mysql.h>
    #define __UNIX__
    #include <sstream>
    #endif


    Est il possible par la suite dans le programme de dire si c'est windows utilisé cette partie de code et inversement?



    Pouvez-vous m'indiquer la marche a suivre s'il vous plait
    Cordialement

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    110
    Détails du profil
    Informations personnelles :
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Avril 2009
    Messages : 110
    Par défaut
    essaye
    Je ne suis pas sur, mais j'ai l'impression que j'ai vu ça quelque part

  3. #3
    Membre confirmé
    Profil pro
    Étudiant
    Inscrit en
    Juin 2009
    Messages
    66
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2009
    Messages : 66
    Par défaut
    j'ai essayé mais toujours les même erreur.


    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
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    #if Win32
     
    #include <shlwapi.h> // Pour utiliser la fonction PathFindFileName
    #include <windows.h>
    #include <tchar.h>
    #include <stdlib.h>
    #include <stdio.h>
    #include <iostream>
    #include <time.h>
    #include <cstdlib>
    #include <fstream>
    using namespace std;
    #include <winsock2.h>
    #include <string>
    #include <limits>
    #include <MYSQL/mysql.h>
    #define __WIN__
    #include <sstream>
     
     
     
    #endif
     
    #if Unix
     
    #include <linux.h>
    #include <tchar.h>
    #include <stdlib.h>
    #include <stdio.h>
    #include <iostream>
    #include <time.h>
    #include <cstdlib>
    #include <fstream>
    using namespace std;
    #include <sys/types.h>
    #include <sys/socket.h>
    #include <string>
    #include <limits>
    #include <MYSQL/mysql.h>
    #define __UNIX__
    #include <sstream>
    #endif
    Cordialement

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    110
    Détails du profil
    Informations personnelles :
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Avril 2009
    Messages : 110
    Par défaut
    C'est normal, je me suis trompé.
    J'ai cherché un peu et voilà ce que j'ai trouvé :

    Dans un fichier de config tu définis ton environnement comme suit :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    #if defined(_WINDOWS) && !defined(WINDOWS)
    #define WINDOWS
    #endif
    et dans ton code tu fais :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    #ifdef WINDOWS
    bla bla bla
    #endif
    les macros sont différents selon les OS, pour win32 par exemple, il y a _WIN32 et _WIN32_.
    J'espère que c'est juste cette fois.
    bon courage

  5. #5
    Membre Expert
    Avatar de Goten
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    1 580
    Détails du profil
    Informations personnelles :
    Âge : 34
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 580

  6. #6
    Rédacteur
    Avatar de 3DArchi
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    7 634
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 7 634
    Par défaut
    Tu devrais trouver ton bonheur ici

    [EDIT] Grilled

  7. #7
    Membre confirmé
    Profil pro
    Étudiant
    Inscrit en
    Juin 2009
    Messages
    66
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2009
    Messages : 66
    Par défaut
    merci pour vos réponse.

    Voici ma déclaration :

    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
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    #if defined(__WINDOWS__) && !defined(_WIN32)
    #define WINDOWS
    #include <shlwapi.h> // Pour utiliser la fonction PathFindFileName
    #include <winsock2.h>
    #include <windows.h>
    #include <tchar.h>
    #include <stdlib.h>
    #include <stdio.h>
    #include <iostream>
    #include <time.h>
    #include <cstdlib>
    #include <fstream>
    using namespace std;
    #include <winsock2.h>
    #include <string>
    #include <limits>
    #include <MYSQL/mysql.h>
    #define __WIN__
    #include <sstream>
    #endif
     
    #if defined(__unix__) && !defined(__unix)
    #define UNIX
    #include <linux.h>
    #include <tchar.h>
    #include <stdlib.h>
    #include <stdio.h>
    #include <iostream>
    #include <time.h>
    #include <cstdlib>
    #include <fstream>
    using namespace std;
    #include <sys/types.h>
    #include <sys/socket.h>
    #include <string>
    #include <limits>
    #include <MYSQL/mysql.h>
    #define __UNIX__
    #include <sstream>
    #endif

    Je pense qu'elle est fausse car lors de la compilation, le compilateur me dit que rien est déclarer.

    exemple :

    `SOCKADDR' undeclared (first use this function)

    j'ai aussi essayer en remplacent les && par des ||
    dans la ligne :
    #if defined(__unix__) && !defined(__unix)

  8. #8
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    110
    Détails du profil
    Informations personnelles :
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Avril 2009
    Messages : 110
    Par défaut
    ça dépend de ce que tu veux faire, à mon avis, si tu travaille avec win32 voilà la ligne de code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    #if (defined(_WIN32)||defined(_WIN32_)) && !defined(WIN32) // Cette derniere juste pour être sur que tu n'as pas défini WIN32 deux fois.
    #define WIN32
    #endif
    La tu as défini ton environnement WIN32, pour l'utiliser après il faut que tu rajoute cette ligne de code avant ton code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    #ifdef(WIN32)
    ...
    #endif
    C'est la méthode qu'on utilise dans notre application et ça marche.

  9. #9
    Membre confirmé
    Profil pro
    Étudiant
    Inscrit en
    Juin 2009
    Messages
    66
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2009
    Messages : 66
    Par défaut
    merci de ton aide,

    il ne me dit plus que tous n'est pas déclaré.

    il ne reste plus que cette erreur:

    macro names must be identifiers

    je pense que ça vient de cette ligne:


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    #if (defined(_WIN32)||defined(_WIN32_)) && !defined(WIN32)

    Cordialement

  10. #10
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    110
    Détails du profil
    Informations personnelles :
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Avril 2009
    Messages : 110
    Par défaut
    Je pense qu'il ne reconnais pas _WIN32_,
    enlève le, et réessaye.

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

Discussions similaires

  1. OpenGL + DevC++ : Probleme de librairie
    Par gids01 dans le forum OpenGL
    Réponses: 3
    Dernier message: 04/11/2005, 13h05
  2. probleme de librairie avec Dev-C++
    Par Miksimus dans le forum Dev-C++
    Réponses: 2
    Dernier message: 12/10/2005, 12h21
  3. <GLADE + C++> Probleme de Librairies
    Par debutanteVB.NET dans le forum Bibliothèques
    Réponses: 3
    Dernier message: 30/09/2005, 12h40
  4. Probleme définition d'index sous Paradox
    Par zinaif dans le forum Bases de données
    Réponses: 3
    Dernier message: 01/06/2005, 10h38
  5. [Link] Probleme de librairies...
    Par k'n1 dans le forum C++
    Réponses: 3
    Dernier message: 22/02/2005, 05h40

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