2011-08-03 8 views
3

Cedet - отличный набор инструментов, но по умолчанию он имеет некоторые трудности с поиском включенных файлов.make emacs cedet semantic look for include directories

Я бы хотел, чтобы он искал каталог с именем include/в каждом родительском каталоге и получал оттуда файл.

для examplme файл /home/fakedrake/my-project/some-thing/something-else/file.c имеет #include "file.h" file.h в каком-то-вещь/file.h но Cedet не может найти его

Что было бы удивительным было бы сделать Cedet взгляд на file.h создать пополнений в каталогах

/home/fakedrake/my-project/some-thing/include/ 
/home/fakedrake/my-project/include/ 

(и я мог бы жить с ним, если он пытался искать

/include/ 
/home/include/ 
/home/fakedrake/include/ 

)

ответ

4

Для этого вы можете использовать EDE. Кроме того, он позволяет указать различные пути включения для определенных проектов. EDE является частью Cedet, поэтому вам не нужно ничего устанавливать.

Основная установка:

(global-ede-mode t) 

Тогда для каждого проекта, вы должны иметь что-то вроде этого:

(if (file-exists-p "~/dev/chanconf/Makefile") 
    (ede-cpp-root-project "chanconf" 
          :name "Channel Config" 
          :file "~/dev/chanconf/Makefile" 
          :system-include-path '("/usr/include" 
               "/usr/include/boost") 
          :include-path '("/src" 
              "/test/gtest/include") 
          :spp-table '(("BOOST_PROGRAM_OPTIONS_DECL" . "")))) 

Это не совсем то, что вы просите, так как вы все равно должны перечислить все включенные каталоги. Но обычно это делается только один раз для каждого проекта и не требует слишком больших усилий, поэтому я надеюсь, что это поможет.

article on Cedet от Alex Ott - довольно хороший источник идей, если вам нужно больше.

 Смежные вопросы

  • Нет связанных вопросов^_^