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 projet C/C++, problème de liens entre les fichiers


Sujet :

C++

  1. #1
    Futur Membre du Club
    Inscrit en
    Août 2010
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Août 2010
    Messages : 5
    Points : 5
    Points
    5
    Par défaut CMake projet C/C++, problème de liens entre les fichiers
    Bonjour,
    Je travaille actuellement sur un projet C/C++ dans lequel je dois utiliser CMake pour le créer puis le compiler.
    L'arborescence du projet est la suivante :
    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
     
    /projet (dossier source)
    	- CMakeLists.txt
    	- main.cpp
    	/Modules
    		- CMakeLists.txt
    		- Abstract.h (Classe Abstract : classe avec fonction virtuelles pures)
    		- Abstract.cpp
    		/Module1 (Classe Module1 : classe fille de Abstract : Redéfinition des fonctions virtuelles)
    			- CMakeLists.txt
    			- Module1.h
    			- Module1.cpp
    		/Module2 (Classe Module2 : classe fille de Abstract : Redéfinition des fonctions virtuelles)
    			- CMakeLists.txt
    			- Module2.h
    			- Module2.cpp
    	/typesApplication
    		- typesAppli.h
    De base les fichiers CMake sont les suivants :
    -Fichier CMake du dossier source :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    cmake_minimum_required (VERSION 2.6) 
     
    #Name of the project
    project(module)
     
    add_subdirectory (Modules)
    add_subdirectory (typesApplication)
     
    include_directories (Modules)
    link_directories (Modules)
     
    add_executable(testModule main.cpp)
    target_link_libraries(testModule Abstract Module1 Module2)
    - fichier CMake du dossier Modules :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    add_subdirectory (Module1)
    add_subdirectory (Module2)
     
    add_library(Abstract Abstract.cpp )
    - fichier CMake dossier Module1:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    add_library(Module1 Module1.cpp)
    -fichier CMake dossier Module2:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    add_library(Module2 Module2.cpp)
    Le fichier typesAppli.h est nouveau et je souhaite l'appeler via un include "typesAppli.h" dans le fichier Abstract.h.
    J'ai rajouté les lignes suivantes dans le CMakeLists.txt du dossier /Modules :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    include_directories (${MODULE_SOURCE_DIR}/typesApplication)
    link_directories (${MODULE_BINARY_DIR}/typesApplication)
    Mais lors de la compilation, il ne me trouve pas le fichier. Dois-je rajouter un fichier CMake dans le dossier /typesApplication ou faire d'autres modifications?
    Merci d'avances pour vos réponses ou suggestions.

  2. #2
    Membre expert
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    1 415
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2007
    Messages : 1 415
    Points : 3 156
    Points
    3 156
    Par défaut
    Salut

    Normalement, un simple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    include_directories(Modules typesApplication)
    Devrait régler ton problème. Tu n'as pas ajouté typesApplication dans la liste des includes, il est donc tout à fait logique qu'il ne le trouve pas. De plus, la ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    add_subdirectory (typesApplication)
    est inutile si typesApplication ne contient pas de CMakeLists.txt.
    Find me on github

Discussions similaires

  1. Réponses: 10
    Dernier message: 11/10/2010, 08h03
  2. [MySQL] Problème de liens entre les pages
    Par feldi dans le forum PHP & Base de données
    Réponses: 32
    Dernier message: 29/06/2010, 14h07
  3. Problème d'integration entre les fichiers
    Par mimi51340 dans le forum Entrée/Sortie
    Réponses: 10
    Dernier message: 22/04/2008, 14h26
  4. Labyrinthe : problème de lien entres les cases
    Par spax dans le forum Prolog
    Réponses: 3
    Dernier message: 20/12/2006, 16h05
  5. [Upload] Problème de lien entre mes fichiers
    Par temperature dans le forum Langage
    Réponses: 18
    Dernier message: 25/04/2006, 12h15

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