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 :

cmake path des fichiers headers


Sujet :

C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    421
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 421
    Par défaut cmake path des fichiers headers
    Bonjour à tous,

    Je souhaiterai dans mes fichiers sources appeler mes headers qu'avec leur nom de fichier (sans path absolue ou relatif). Par exemple au lieu d'écrire "../../test.hpp" faire "test.hpp".
    J'utilise cmake pour linker mes fichiers, j'ai beau chercher je n'ai pas trouvé de moyen de faire ça. J'ai toujours un bug qui me dit que le compilateur ne trouve pas le lien vers mon fichier header.
    Pouvez-vous m'aider s'il vous plaît ?

    Voici mon fichier test.cpp qui est dans un dossier appelé source :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    #include "/test.hpp"
     
    int main()
    {
     
    return 0;
     
    }
    Voici mon fichier test.hpp qui est dans un dossier header distincte du dossier source :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    #ifndef TEST_HPP
    #define TEST_HPP
     
    #define toto 1;
     
    #endif
    Et mon script cmake :
    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
     
    CMAKE_MINIMUM_REQUIRED(VERSION 2.8.8)
     
    PROJECT(exec)
     
    set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
     
    set(MY_HEADER "${CMAKE_SOURCE_DIR}../header")
     
    # Chercher les fichiers sources
    FILE(
        GLOB_RECURSE
        FICHIERS_SOURCES
        ${MY_HEADER}/test.hpp
        source/	
    )
     
     
     
    ADD_EXECUTABLE(${PROJECT_NAME} ${FICHIERS_SOURCES})
     
    TARGET_LINK_LIBRARIES(${PROJECT_NAME})
    Le projet est en pièce jointe.

  2. #2
    Membre éclairé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2010
    Messages
    517
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Santé

    Informations forums :
    Inscription : Avril 2010
    Messages : 517
    Par défaut
    Salut,

    Ce n'est pas trop du C++ mais bon.

    Tu n'as pas dû utiliser les bons mots clés je pense parce qu'une rapide recherche mène à cette page: include_directories

  3. #3
    Responsable Systèmes


    Homme Profil pro
    Gestion de parcs informatique
    Inscrit en
    Août 2011
    Messages
    18 302
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Gestion de parcs informatique
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Août 2011
    Messages : 18 302
    Par défaut
    ceci signifie que ton fichier va être cherché à la racine du disque.
    Ma page sur developpez.com : http://chrtophe.developpez.com/ (avec mes articles)
    Mon article sur le P2V, mon article sur le cloud
    Consultez nos FAQ : Windows, Linux, Virtualisation

  4. #4
    Expert confirmé

    Avatar de dragonjoker59
    Homme Profil pro
    Software Developer
    Inscrit en
    Juin 2005
    Messages
    2 034
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Bas Rhin (Alsace)

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

    Informations forums :
    Inscription : Juin 2005
    Messages : 2 034
    Billets dans le blog
    12
    Par défaut
    Ton problème est dans cette ligne, je pense:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    set(MY_HEADER "${CMAKE_SOURCE_DIR}../header")
    CMAKE_SOURCE_DIR n'est pas terminé par '/'.
    Essaie ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    set(MY_HEADER "${CMAKE_SOURCE_DIR}/../header")
    Ensuite, ton CMakeLists.txt est dans le dossier "source"?
    Si vous ne trouvez plus rien, cherchez autre chose...

    Vous trouverez ici des tutoriels OpenGL moderne.
    Mon moteur 3D: Castor 3D, presque utilisable (venez participer, il y a de la place)!
    Un projet qui ne sert à rien, mais qu'il est joli (des fois) : ProceduralGenerator (Génération procédurale d'images, et post-processing).

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    421
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 421
    Par défaut
    mon CMakeList n'est pas dans le dossier source.
    J'ai rajouté / après le CMAKE_SOURCE_DIR mais ça n'a rien changé. J'ai remplacé "/test.hpp" par "test.hpp" idem.

  6. #6
    Expert confirmé

    Avatar de dragonjoker59
    Homme Profil pro
    Software Developer
    Inscrit en
    Juin 2005
    Messages
    2 034
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Bas Rhin (Alsace)

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

    Informations forums :
    Inscription : Juin 2005
    Messages : 2 034
    Billets dans le blog
    12
    Par défaut
    Tu peux montrer l'arborescence de tes dossiers, ainsi que la position de ton CMakeLists.txt dans cette arborescence?
    Si vous ne trouvez plus rien, cherchez autre chose...

    Vous trouverez ici des tutoriels OpenGL moderne.
    Mon moteur 3D: Castor 3D, presque utilisable (venez participer, il y a de la place)!
    Un projet qui ne sert à rien, mais qu'il est joli (des fois) : ProceduralGenerator (Génération procédurale d'images, et post-processing).

Discussions similaires

  1. Récupérer les paths des fichiers d'un dossier
    Par damdam44 dans le forum Entrée/Sortie
    Réponses: 2
    Dernier message: 03/06/2008, 16h07
  2. PATH des fichiers en local
    Par T@rka dans le forum Applets
    Réponses: 2
    Dernier message: 21/02/2008, 18h00
  3. [gcc] ajouter un chemin relatif a des fichiers header
    Par wodel dans le forum Autres éditeurs
    Réponses: 4
    Dernier message: 12/11/2007, 13h54
  4. Charger le path des fichiers properties
    Par yanis97 dans le forum Langage
    Réponses: 1
    Dernier message: 30/11/2006, 20h54
  5. Réponses: 9
    Dernier message: 25/09/2005, 16h33

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