9
votes

Cumake et Eclipse: Par défaut Inclure les chemins?

J'ai un projet qui construit avec le système CMAKE, et j'aime l'importer dans Eclipse. Cependant, lorsque je générerai des fichiers de projet Eclipse avec "Cumake -g" Eclipse CDT4 - UNIX Makefiles "' Il n'y a pas de valeur par défaut include des chemins dans le projet Eclipse (telle que / USR / Inclure 'ou le chemin GCC pour les en-têtes standard).

Comment résoudre ce problème de bonne manière?

Système: linux GCC 4.3.3 cmake 2.6.4 Eclipse 3.5.1


0 commentaires

4 Réponses :


6
votes

Vous devez aller aux propriétés du projet (bouton de droite via le projet), "C / C ++ Inclure les chemins et les symboles" et les ajoutez ici comme "Pistes externes incluant des chemins".


3 commentaires

Le changement devrait être effectué dans CMAKELIST.TXT, car les fichiers de projet Eclipse sont généraux


Je sais, mais seulement une fois. Lorsque les fichiers CMAKELIST modifient ne modifient pas ces paramètres dans le projet Eclipse. L'ajout d'en-têtes standard au projet Eclipse est uniquement pour permettre à l'indexeur de les trouver, mais non liée au processus de construction.


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



6
votes

Dans votre CMAKELIST.TXT Essayez d'ajouter les deux lignes suivantes:

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


0 commentaires

1
votes

essayer xxx

pour mon cas était xxx

J'espère que cela aide


0 commentaires

0
votes

Vous pouvez analyser la liste des répertoires directement à partir du compilateur, vous savez donc que vous obtenez exactement le même ensemble que CMAKE utilise (en supposant que votre configuration de CMAKE utilise le même compilateur). Ensuite, divisez-les dans une liste avec distinct_arguments et ajoutez-les avec la commande include_directories code>.

execute_process(
    COMMAND echo
    COMMAND bash -c "g++ -E -Wp,-v - 2>&1"
    COMMAND awk "/^#include .* starts here:$/,/^End of search list/ { if ($0 ~ /^ /) { print } }"
  OUTPUT_VARIABLE SYS_INCLUDES_OUT)
separate_arguments(SYS_INCLUDES UNIX_COMMAND ${SYS_INCLUDES_OUT}) # create a list
include_directories(${SYS_INCLUDES}) # add list to includes


0 commentaires