Question Comment configurer Eclipse CDT pour cmake?


Comment configurer Eclipse "Helios" avec le plug-in CDT pour cmake?

cmake all 
CMake Error: The source directory "D:/javaworkspace/workspace/Planner/Debug/all" does not    exist.

Eclipse veut toujours utiliser l'option «tout» et je ne sais pas comment l'arrêter pour ne pas l'utiliser.

J'ai vu que dans la section "Comportement de construction", dans "Préférence", il y avait l'option "Tous". Je l'ai effacé, mais cela fonctionne toujours mal (cette même erreur).


15
2018-02-26 14:21


origine


Réponses:


Dans Eclipse-CDT, vous ne créer cmake projets mais vous importez des projets cmake. C'est ce que vous devriez faire:

  1. Supposons que la source de votre projet CMake nommé "Planificateur" se trouve dans D:/javaworkspace/src/Planner

  2. Créez un dossier (les dossiers doivent être parallèles les uns aux autres): D:/javaworkspace/build/Planner

  3. Allez dans le dossier D:/javaworkspace/build/Planner et lancez CMake en utilisant le générateur Eclipse:

    cmake ../../src/Planner -G"Eclipse CDT4 - Unix Makefiles"
    

    Cela générera les fichiers make pour votre projet Planner.

  4. Pour l'importer dans Eclipse, procédez comme suit:

    Fichier -> Importer -> Code existant en tant que projet Makefile

    et sélectionnez D:/javaworkspace/build/Planner (le dossier de sortie de la compilation avec les fichiers make) comme "emplacement du code existant"

Cependant, en regardant vos chemins, il me semble que vous travaillez sous Windows. Dans Windows, CMake peut générer des projets Visual Studio. Si vous souhaitez utiliser CMake, je vous conseille de créer d'abord un projet "hello world" en utilisant CMake (rappelez-vous, Eclipse ne crée pas de projets CMake, vous devez créer un fichier CMakeLists.txt à la main)


21
2018-03-12 08:20



Ce qui a le mieux fonctionné pour moi, c'est cmake4eclipse. C'est un plugin disponible sur le marché.

Des portions du texte d'aide de cmake4eclipse:

CMake for CDT nécessite un projet C / C ++ existant avec lequel travailler. Il   permet d'utiliser cmake comme générateur pour les makefiles au lieu de   générateur intégré à CDT. Voir Activation de la génération de scripts de génération CMake   pour plus de détails.

Pour configurer un nouveau projet avec le code source existant, suivez ces instructions   pas:

  • Consultez votre code source.
  • Ouvrez le nouvel assistant de projet C / C ++ ("Fichier" => "Nouveau" => "Projet C" ou "Fichier" => "Nouveau" => "Projet C ++").      
    • Assurez-vous que l'emplacement du projet   pointe vers le répertoire racine de vos fichiers extraits
    • Pour le projet   tapez, sélectionnez Exécutable. Vous pouvez également sélectionner Bibliothèque partagée ou Statique   Bibliothèque, peu importe, cette information provient de votre   CMakeLists.txt, mais CDT l'exige. Ne sélectionnez pas le projet Makefile   ici!
    • Terminer la création du projet.
  • Ouvrez la boîte de dialogue "Propriétés du projet".      
    • Sélectionnez le nœud "C / C ++ Build" et l'onglet "Paramètres du générateur" et assurez-vous que Générer des Makefiles   est automatiquement vérifié.
    • Sélectionnez le noeud "Tool Chain Editor" et   définir "CMake Make Builder" comme générateur actuel.
    • Si votre niveau supérieur   CMakeLists.txt ne réside pas dans le répertoire racine de votre vérification   fichiers, sélectionnez le noeud "C / C ++ General" "Path and Symbols" et le   Onglet "Emplacement source". Ajustez ensuite le dossier source pour qu'il pointe vers le   répertoire contenant votre fichier CMakeLists.txt. Cela dira à la CDT   indexeur pour analyser les fichiers d'en-tête de votre projet.
  • Conseil: ajoutez un fichier CMakeLists.txt dans le répertoire racine de vos fichiers extraits, si le dossier Binaires ou Archives du   Vue Projets C / C ++. Construire le projet Cela invoquera cmake à   générer les scripts de génération, si nécessaire, puis invoquer make.

N'essayez pas d'importer un projet Eclipse que vous avez créé manuellement   utiliser cmake -G Eclipse CDT4 - Makefiles Unix, car cela vous mettra sur   la route classique du projet Makefile!

La meilleure chose à propos de ce plugin est qu'il peut utiliser les options du compilateur exporté cmake pour indexer votre projet.

  • Ouvrez la boîte de dialogue "Propriétés du projet".
    • Sélectionnez le nœud "C / C ++ General" et le "Préprocesseur inclut les chemins, les macros, etc." languette. Sélectionnez "CMAKE_EXPORT_COMPILE_COMMANDS Parser" et déplacez-le en haut de la liste.
    • Appuyez sur "OK" pour fermer la boîte de dialogue. Veillez à déclencher une génération maintenant et à recréer l'index.

Provider tab

Cela a corrigé tous les problèmes désagréables de l'indexeur qui m'ennuyaient quand je n'utilisais que les "Paramètres du compilateur CDT GCC" et ajoutaient des choses comme "-std = c ++ 14" à "Commande pour obtenir les spécifications du compilateur".


7
2017-08-02 09:14



Utilisation de CMAKE dans le projet Makefile Eclipse (on win):

1) créer de nouvelles "Projet Makefile avec code existant"

2) modifier les paramètres du générateur (Propriétés du projet-> C / C ++ Build-> Paramètres du générateur):

  • Commande de construction: cmd / c "mkdir $ {PWD} & cd / D $ {PWD} && $ {CMAKE} -G" Makefiles Unix "$ {ProjDirPath} && make"

  • Répertoire de construction: $ {workspace_loc: / IoT_SDK} / build / $ {ConfigName}

C'est tout!


3
2018-02-22 11:40



En plus de la réponse acceptée, vous devez spécifier la version eclipse.

Eclipse Luna (4.4):

cmake -G"Eclipse CDT4 - Unix Makefiles" -D_ECLIPSE_VERSION=4.4 ../../src/Planner

Eclipse Kepler (4.3):

cmake -G"Eclipse CDT4 - Unix Makefiles" -D_ECLIPSE_VERSION=4.3 ../../src/Planner

1
2018-05-21 04:21



Une autre méthode complètement différente.

  • Créez manuellement un projet Eclipse vide.

  • Liez le répertoire source via Propriétés du projet -> Généralités C / C ++ -> Chemins et symboles -> Emplacement source.

  • Dans les répertoires de génération Debug et Release, créez "Make Targets" (à l'aide de la vue "Make Targets View"). Laissez le champ "Make Target" vide et définissez le champ "command" sur cmake -G "Unix Makefiles" <path/to/the/sources>.

  • Lorsque vous double-cliquez sur la cible que vous avez créée, elle doit déclencher une invocation de cmake dans les répertoires Debug / Release.

  • Dans 'Propriétés du projet -> C / C ++ Build', désactivez le générateur intégré de makefile.

Maintenant, la construction normale devrait fonctionner. Il détectera également tous les changements dans les fichiers CMakeLists.txt (dans la mesure où CMake peut le faire).

Peut-être une description plus détaillée: https://stackoverflow.com/a/38140914/4742108


1
2017-07-11 22:35