2009-10-14 6 views
7

J'ai un projet qui construit avec le système CMake, et j'aime l'importer dans Eclipse. Cependant, lorsque je génère des fichiers de projet eclipse avec 'cmake -G "Eclipse CDT4 - Unix Makefiles"' il n'y a pas de chemins d'inclusion par défaut dans le projet Eclipse (comme/usr/include 'ou le chemin gcc pour les en-têtes standard).cmake et eclipse: les chemins d'inclusion par défaut?

Comment résoudre ce problème de la manière la plus appropriée?

Système: linux gcc 4.3.3 CMake 2.6.4 Eclipse 3.5.1

Répondre

6

Vous devez aller aux propriétés du projet (bouton droit sur le projet), « C/C++ et comprennent des chemins symboles "et les ajouter ici comme" chemins d'inclusion externes ".

+4

Le changement devrait se faire dans CMakeList.txt, car les fichiers de projet Eclipse sont generqated – dimba

+0

Je sais, mais seulement une fois. Lorsque les fichiers CMakeList changent , ne modifiez pas ces paramètres dans le projet Eclipse. L'ajout d'en-têtes standard au projet Eclipse permet uniquement à l'indexeur de les trouver, mais pas en rapport avec le processus de construction. –

+0

Fnieto a raison, ou du moins ce qu'il dit est la seule solution que je connaissais. Pour autant que je sache, il n'y a pas de meilleure solution. –

6

Dans votre CMakeLists.txt, essayez d'ajouter les deux lignes suivantes:

find_path(STDIO_INCLUDE_PATH stdio.h) 
include_directories("${STDIO_INCLUDE_PATH}/dummy/../") 

La première ligne recherche le chemin pour stdio.h, qui est situé dans /usr/include sur mon système. La seconde ajoute ce dossier au chemin d'inclusion CMake. La partie /dummy/../ a été ajoutée pour tromper CMake en ajoutant le dossier (ce qui ne serait pas le cas autrement), et finira par être retirée.

Cela fonctionne pour moi avec CMake 2.8.8 et Eclipse 3.7.2.

1

essayer

cmake -G"Eclipse CDT4 - Unix Makefiles" -DCMAKE_ECLIPSE_VERSION=<put here your eclipse version> ../src 

pour mon cas était

cmake -G"Eclipse CDT4 - Unix Makefiles" -DCMAKE_ECLIPSE_VERSION=4.2 ../src 

J'espère que cela aide

Questions connexes