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 :

define en fonction des bibliothèques utilisées


Sujet :

C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de robinsondesbois
    Homme Profil pro
    Etudiant
    Inscrit en
    Avril 2012
    Messages
    171
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Haute Loire (Auvergne)

    Informations professionnelles :
    Activité : Etudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2012
    Messages : 171
    Par défaut define en fonction des bibliothèques utilisées
    Bonjour,

    Je voulais savoir s'il étais possible d'utiliser ce type de syntaxe mais pour des bibliothèques :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    #if defined (WIN32) || defined (_WIN32)
    	#include <windows.h>
    #elif defined (__linux) || defined (linux)
    	#include <unistd.h>
    #endif
    Par exemple imaginons que deux personnes travaillent sur le même projet mais que l'une des deux utilise une bibliothèque. Serait-il possible de "masquer" les includes et les morceaux de code correspondant à cette bibliothèque ?

    En gros pouvoir faire ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    #if link (SDL)
    	#include <SDL.h>
    cordialement,
    Robin

  2. #2
    Rédacteur/Modérateur


    Homme Profil pro
    Network game programmer
    Inscrit en
    Juin 2010
    Messages
    7 147
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Canada

    Informations professionnelles :
    Activité : Network game programmer

    Informations forums :
    Inscription : Juin 2010
    Messages : 7 147
    Billets dans le blog
    4
    Par défaut
    Que signifie link ?

    Tu prends le problème à l'envers, tu utilises telle ou telle lib en fonction des defines (de la target de compilation, ...).
    Eventuellement une lib peut définir des defines dans leurs headers.
    Pensez à consulter la FAQ ou les cours et tutoriels de la section C++.
    Un peu de programmation réseau ?
    Aucune aide via MP ne sera dispensée. Merci d'utiliser les forums prévus à cet effet.

  3. #3
    Membre confirmé Avatar de robinsondesbois
    Homme Profil pro
    Etudiant
    Inscrit en
    Avril 2012
    Messages
    171
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Haute Loire (Auvergne)

    Informations professionnelles :
    Activité : Etudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2012
    Messages : 171
    Par défaut
    link ne signifie rien du tout. C'est un exemple.

    En gros je voudrais que le compilateur ignore certaine ligne de code si tel ou tel bibliothèque n'est pas installée.

  4. #4
    Membre Expert Avatar de Ehonn
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2012
    Messages
    788
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2012
    Messages : 788
    Par défaut
    Tu peux détecter la présence (ou l'absence) des bibliothèques avec le système de build (comme CMake) et définir toi-même la macro.

  5. #5
    Membre confirmé Avatar de robinsondesbois
    Homme Profil pro
    Etudiant
    Inscrit en
    Avril 2012
    Messages
    171
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Haute Loire (Auvergne)

    Informations professionnelles :
    Activité : Etudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2012
    Messages : 171
    Par défaut
    Ça tombe bien, j'utilise CMake
    Je vais regarder pour la déclaration de MACRO.

  6. #6
    Expert confirmé
    Homme Profil pro
    Analyste/ Programmeur
    Inscrit en
    Juillet 2013
    Messages
    4 766
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Analyste/ Programmeur

    Informations forums :
    Inscription : Juillet 2013
    Messages : 4 766
    Par défaut
    C'est avec la bascule D de gcc que tu fais cela.

    Mais les outils et les bibliothèques standards mettent les define, les bascules et autres qui vont bien

    Source: gcc -D option flag

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    // myfile.c
    #include <stdio.h>
     
    void main()
    {
        #ifdef DEBUG   
           printf("Debug run\n");
        #else
           printf("Release run\n");
        #endif
    }
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    $ gcc -D DEBUG myfile.c -o myfile
    $ ./myfile
    Debug run
    $
    $ gcc myfile.c -o myfile
    $ ./myfile
    Release run
    $

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

Discussions similaires

  1. Installation et utilisation des bibliothèques
    Par feynman dans le forum Fortran
    Réponses: 1
    Dernier message: 21/03/2008, 08h42
  2. Réponses: 4
    Dernier message: 28/08/2007, 22h34
  3. Réponses: 1
    Dernier message: 24/05/2007, 15h32
  4. [MySQL] Utilisation des fonctions des récupérations des données
    Par Konrad Florczak dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 27/10/2006, 15h17
  5. [Conception] Utiliser les fonctions des tableaux ou plusieurs requêtes ?
    Par Derik dans le forum PHP & Base de données
    Réponses: 10
    Dernier message: 01/02/2006, 09h54

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