LINUX.ORG.RU

сначала настраиваешь cc-mode по емаксовому мануалу (хотя там в принципе все из коробки работает), потом берешь конфиг cedet по указаному выше урлу.

Можешь еще поставить ecb, если хочется броузер классов и т.п.

ott ★★★★★
()
Ответ на: комментарий от ott

я еще к этому бы добавил компиляцию:

(setq path-to-makefiles (make-hash-table :test 'eq))

(setq cpp-test-prj (ede-cpp-root-project "cpp-tests" :file "~/projects/lang-exp/cpp/CMakeLists.txt"
:system-include-path '("/home/ott/exp/include"
"/home/ott/exp/include/boost-1_37"))
)

(puthash cpp-test-prj "make -k -C ~/projects/lang-exp/cpp/build" path-to-makefiles)

(defun my-compile ()
"compilation using ede projects"
(interactive)
(setq current-dir (file-name-directory (buffer-file-name (current-buffer))))
(setq prj (ede-current-project current-dir))
(when prj
(setq make-cmd (gethash prj path-to-makefiles))
(save-buffer)
(save-some-buffers)
(compile (format "%s" make-cmd))
)
)

my-compile можно повесить на что-нибудь типа Ctrl+f10

fghj ★★★★★
()
Ответ на: комментарий от fghj

ну мне ede-cpp-projects нужны в основном для completion имен, компиляция у меня и так повешена на отдельную клавишу :-)

ott ★★★★★
()
Ответ на: комментарий от anonymous

>А можно то же самое для vim?

Нет.

:)

anonymous
()
Ответ на: комментарий от fghj

я обычно собираю не весь проект, а только часть над которой работаю - она находится в текущем каталоге.

хотя у вас интересное определение my-compile, я попробую вставить его в статью про работу с Cedet (правда непотяно когда ее допишу)

ott ★★★★★
()
Ответ на: комментарий от ott

Объясните нубу, как этот cedit через cvs получить? и вообще, проект развивается или заброшен? вроде год уже обновлений не было?

fukazzz
()
Ответ на: комментарий от fukazzz

Объясните другому нубу, как всё-таки этот cedet настроить? У меня с конфигурацией Алекса то файлы (например cedet-gcc) не находит, и всегда при попытке комдишна выдаёт "semantic-analyze-current-context: Wrong type argument: syntax-table-p, nil". Я в лиспе ноль, гугл молчит.

anonymous
()

Часто проблемы возникают из-за отсутствия каталога для хранения базы семантик-а. Самому пришлось помучиться.

На всякий случай лучше сделать mkir ~/.semanticdb

anonymous
()
Ответ на: комментарий от fukazzz

как через cvs получить - смотрите на странице sourceforge. проект развивается постоянно. если есть проблемы - пишите в рассылку, автор оперативно фиксит/добавляет новый функционал

ott ★★★★★
()
Ответ на: комментарий от anonymous

> У меня с конфигурацией Алекса то файлы (например cedet-gcc) не >находит, и всегда при попытке комдишна выдаёт "semantic-analyze->current-context:

а cedet из cvs?

fghj ★★★★★
()
Ответ на: комментарий от ott

>да, если взяли мой конфиг полностью, то у меня данные сохраняются в ~/tmp/semantic

да, это я видел. я создал у себя ~/.semanticdb и заменил эту строку соответственно

anonymous
()
Ответ на: комментарий от ott

>очень странно. скомпилирован правильно?

Не могу сказать с уверенностью. На Makefile он ругался из-за таймстэмпа (?), из емакса вроде бы всё скомпилировалось без каких-л. сообщений, но емаксом я впервые что-то компилирую. В любом случае спасибо, попозже займусь им опять, и лучше приду сюда с конкретными вопросами.

anonymous
()
Ответ на: комментарий от anonymous

попробуйте вот такую вот последовательность команд для сборки:

find . -name Makefile|xargs touch

make clean ; make autoloads ; make -k all

ott ★★★★★
()
Ответ на: комментарий от ott

если cedet получен из cvs там есть файл под названием
USING_CEDET_FROM_CVS
в котором в частности написано
Thus, the first compilation step is:

-----
touch `find . -name Makefile`

fghj ★★★★★
()
Ответ на: комментарий от fghj

Я делал touch Makefile. Проблема не в компилировании, скомпилировать удалось из emacs. Как мне кажется. Проверить сейчас не могу.

anonymous
()
Ответ на: комментарий от anonymous

Скомпилировалось. Но все равно "semantic-analyze-current-context: Wrong type argument: syntax-table-p, nil". В понедельник буду копаться.

anonymous
()
Ответ на: комментарий от ott

Гугл ничего не знает о ede-cpp-projects. Расскажите чем можно организовать автокомплит кода в имаксе. Спасибо. >хотя у вас интересное определение my-compile, я попробую вставить его в статью про работу с Cedet (правда непотяно когда ее допишу) Допишите, у вас очень интересный ресурс.

loginoleg
()
Ответ на: комментарий от loginoleg

про ede-cpp-project рассказывается в ede.info входящем в поставку cedet. Это примитивный тип проекта ede, который как раз и используется для организации правильного комплита кода, относящегося к одному проекту. Вы там можете определить каталог верхнего уровня для проекта, список каталогов с пользовательскими заголовчными файлами (относительно корня проекта), а также список каталогов с "системными" заголовочными файлами. Стандартные каталоги gcc cedet (из cvs) определяет сам

В моей конфигурации есть несколько примеров настройки для простых проектов.

ott ★★★★★
()
Ответ на: комментарий от ott

to Alex Ott а может разродитесь на мануал по настройке emacs-a для c++ (cedet, ecb) или xrefactory (кстати что лучше, и по каким критериям)?!!!! Я по инету полазил - похоже, в настоящее время Вы единственный рускоязычный гуру emacs-а, публикующийся в инете

anonymous
()
Ответ на: комментарий от ott

и на счет настройки для Qt, если есть опыт, плиз :))))

anonymous
()
Ответ на: комментарий от ott

a ECB вообще жив??? там последний релиз датируется 2005-ым годом

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.