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

Eclipse C & C++ Discussion :

cmake & eclipse ?


Sujet :

Eclipse C & C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Juin 2003
    Messages
    223
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Juin 2003
    Messages : 223
    Par défaut cmake & eclipse ?
    Bonjour,

    Après avoir lu plusieurs fois qu'il ne fallait pas utiliser le generator de makefile d'éclipse je me suis rendu compte que en effet il peut être très dangereux de l'utiliser si on développe un projet multi-platform.

    Cependant ma connaissance en makefile est assez faible (le truc typique de l'uni avec des fichiers dans src/ et dans includes/). Je voudrais donc faire un meilleur makefile qui soit portable pour windows et linux, pouvant inclure des sources dans différents répertoires...

    Je me suis demandé si il ne serait pas plus facile de s'interesser au cmake. Et si qqun avait deja tester l'intégration des cmake avec eclipse ganymede.

  2. #2
    Membre émérite
    Avatar de mamelouk
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    867
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Mai 2005
    Messages : 867
    Par défaut
    salut,

    yep, moi je l'utilise tout les jours. il y a un générateur pour eclipse cdt4 dans la dernière version de cmake, qui en plus permet d'utiliser le compilateur microsoft si on on peut pas utiliser gcc.

    cf ici

    il y a quelques trucs genant, comme le fait qu'il y un projet "source" et un projet "build" (car eclipse ne gère pas différents types de build pour le meme projet), mais bon il n'y a pas d'outil parfait, on s'y habitue.

  3. #3
    Membre confirmé
    Inscrit en
    Juin 2003
    Messages
    223
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Juin 2003
    Messages : 223
    Par défaut
    Bon je me suis un peu renseigner a ce niveau la mais je suis pas encore tout a fait pret pour l'integration de mon projet avec cmake.

    - 1: Est-ce que j'ai besoin des plugins: Cmakeed et CmakeBuilders ????
    - 2: Est-ce que tu as un bon exemple de cmake, pour un projet simple...
    - 3: Le probleme de source et builds est-ce que cela est un gros probleme au niveau de la gestion du code source en SVN. Quelle structure de code tu me conseil...
    - 4: Si je file mon projet a qqun est-ce qu'il doit avoir cmake installer ou cela n'est pas obliger.

    merci encore... et vraiment tres interessant ton tutorial ... car wxWidget est assez lent avec MinGW... j'aimerais bien le tester avec MSVC.

  4. #4
    Membre émérite
    Avatar de mamelouk
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    867
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Mai 2005
    Messages : 867
    Par défaut
    Citation Envoyé par elraton Voir le message
    - 1: Est-ce que j'ai besoin des plugins: Cmakeed et CmakeBuilders ????
    cmakeed donne la coloration syntaxique, et un tout petit peu de complétion automatique. c'est pratique quand tu démarres (la coloration permet de savoir si tu t'es pas trompé dans le nom d'une commande). par contre je l'ai enlevé car il était source de problème avec eclipse 3.4. je ne sais pas si il a été mis à jour depuis

    cmakebuilders je connais pas


    - 2: Est-ce que tu as un bon exemple de cmake, pour un projet simple...
    ben mes projets consistent principalement en des commandes basiques, du genre

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    project( TotoGui )
    add_library( totolib source1.c source2.c )
     
    set( TOTO_SRC source3 source4 source 5 source 6 )
    add_executable( totobin ${TOTO_SRC} )
     
    target_link_libraries( totobin totolib)
    a force d'en faire, j'ai l'impression que ca parle de soi meme, mais si t'as des questions n'hésite pas

    - 3: Le probleme de source et builds est-ce que cela est un gros probleme au niveau de la gestion du code source en SVN. Quelle structure de code tu me conseil...
    mmm non je ne vois pas de problème, car sur svn tu ne stocke que tes sources (j'espère?), pas tes résultats de compilation. cmake "proprifie" un peu la compilation en mettant les résultats dans un dossier à part (binary folder)


    la structure du code importe peu, mais j'ai disons 3 répertoires "src", "lib" et "res", et il y a un CMakeLists.txt dans chaque répertoire et un à la racine qui les inclut tous (add_subdirectory)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    - 4: Si je file mon projet a qqun est-ce qu'il doit avoir cmake installer ou cela n'est pas obliger.
    si quelqu'un veut compiler ton code, il doit installer cmake en effet. sous windows c'est une étape en plus. sous linux, il est souvent installé par défaut maintenant.

    merci encore... et vraiment tres interessant ton tutorial ... car wxWidget est assez lent avec MinGW... j'aimerais bien le tester avec MSVC.
    je t'en prie. ca fait plaisir de répondre à des questions précises et bien posées

    a+

  5. #5
    Membre confirmé
    Inscrit en
    Juin 2003
    Messages
    223
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Juin 2003
    Messages : 223
    Par défaut
    Bon visiblement je ne suis pas sur d'y arriver correctement pour mon projet.

    Alors j'ai comme structure de projet:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    ${PROJECT_PATH}
    ${PROJECT_PATH}/src/
    ${PROJECT_PATH}/src/include/
    ${PROJECT_PATH}/cMakeScripts/
    ${PROJECT_PATH}/Debug/
    ${PROJECT_PATH}/sdk_builds/ec_mingw
    ${PROJECT_PATH}/sdk_builds/ec_gcc
    ${PROJECT_PATH}/sdk_builds/msvc
    Pour l'instant j'obtient en generant un projet eclipse un .cproject et .project dans le repertoire sdk_builds/ec_gcc/
    Cependant quand j'import ce projet les sources ne sont pas visible, mais si le projet compile correctement. Il y a un moyen de creer un liens ??? vers ces fichiers... J'ai donc un projet pour compiler et un autres pour developper (C'est pas terrible comme solution)

    Sinon je comprend pas ou ca merde mais dans mon dossier src/ j'ai comme fichier:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    include/
    CmakeLists.txt
    frames.c
    s400server.c
    S4N_Packet.c
    UDP_Packet.c
    UDP_Socket.c
    et quand cMake appel src/CmakeLists.txt:
    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
     
    #Find openCV package for CMAKE.
    find_package(OpenCV REQUIRED)
     
    #Include openCV
    include_directories(${OpenCV_INCLUDE_DIR})
     
    #include headers
    include_directories(include)
     
    #Define the name
    set(S4NPS_SRC frames s400server S4N_Packet UDP_Packet UDP_Socket)
     
    #create the executable
    add_executable(S4NPSimu S4NPS_SRC)
    j'ai l'erreur suivante:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    CMake Error in src/CMakeLists.txt:
      Cannot find source file "S4NPS_SRC".  Tried extensions .c .C .c++ .cc .cpp
      .cxx .m .M .mm .h .hh .h++ .hm .hpp .hxx .in .txx

    PS: Derniere question, est-ce qu'il est possible de lui dire de chercher tout les *.c, *.h dans un repetoire a l'exception de Test.c par exemple.

  6. #6
    Membre émérite
    Avatar de mamelouk
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    867
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Mai 2005
    Messages : 867
    Par défaut
    Citation Envoyé par elraton Voir le message
    Bon visiblement je ne suis pas sur d'y arriver correctement pour mon projet.

    Alors j'ai comme structure de projet:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    ${PROJECT_PATH}
    ${PROJECT_PATH}/src/
    ${PROJECT_PATH}/src/include/
    ${PROJECT_PATH}/cMakeScripts/
    ${PROJECT_PATH}/Debug/
    ${PROJECT_PATH}/sdk_builds/ec_mingw
    ${PROJECT_PATH}/sdk_builds/ec_gcc
    ${PROJECT_PATH}/sdk_builds/msvc
    Pour l'instant j'obtient en generant un projet eclipse un .cproject et .project dans le repertoire sdk_builds/ec_gcc/
    Cependant quand j'import ce projet les sources ne sont pas visible, mais si le projet compile correctement. Il y a un moyen de creer un liens ??? vers ces fichiers...
    j'utilise pas l'import, ce que je fais c'est que je crée un nouveau projet eclipse (dans le workspace donc), et lorsque je génère le projet avec cmake, je lui indique le dossier du projet juste créé en tant que "build folder"

    J'ai donc un projet pour compiler et un autres pour developper (C'est pas terrible comme solution)
    c'est l'inconvénient dont je te parlais, mais dans le projet build, il y a un raccourci vers le projet source, donc au final j'ai qu'un seul projet d'ouvert. on s'y habitude vite.

    Sinon je comprend pas ou ca merde mais dans mon dossier src/ j'ai comme fichier:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    include/
    CmakeLists.txt
    frames.c
    s400server.c
    S4N_Packet.c
    UDP_Packet.c
    UDP_Socket.c
    et quand cMake appel src/CmakeLists.txt:
    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
     
    #Find openCV package for CMAKE.
    find_package(OpenCV REQUIRED)
     
    #Include openCV
    include_directories(${OpenCV_INCLUDE_DIR})
     
    #include headers
    include_directories(include)
     
    #Define the name
    set(S4NPS_SRC frames s400server S4N_Packet UDP_Packet UDP_Socket)
     
    #create the executable
    add_executable(S4NPSimu S4NPS_SRC)
    j'ai l'erreur suivante:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    CMake Error in src/CMakeLists.txt:
      Cannot find source file "S4NPS_SRC".  Tried extensions .c .C .c++ .cc .cpp
      .cxx .m .M .mm .h .hh .h++ .hm .hpp .hxx .in .txx
    c'est
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    add_executable(S4NPSimu ${S4NPS_SRC})
    , pas
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    add_executable(S4NPSimu S4NPS_SRC)
    PS: Derniere question, est-ce qu'il est possible de lui dire de chercher tout les *.c, *.h dans un repetoire a l'exception de Test.c par exemple.
    oui, mais je ne me souvient plus comment

    file( GLOB..) ou un truc comme ca. cf la doc : http://www.cmake.org/cmake/help/cmake2.6docs.html

Discussions similaires

  1. Eclipse en français
    Par Super Castor dans le forum Eclipse Java
    Réponses: 5
    Dernier message: 02/06/2007, 15h59
  2. Servlet dans Eclipse ?
    Par unflag dans le forum Eclipse Java
    Réponses: 1
    Dernier message: 10/04/2003, 18h46

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