LINUX.ORG.RU

По конфигурации CEDET

 , , ,


0

2

Привет, ЛОР!

Вопрос (в который раз) по связке Qt + CEDET. Мануалы Alex Ott говорят нам делать так:

(setq qt4-base-dir "/usr/include/qt4")
(semantic-add-system-include qt4-base-dir 'c++-mode)
(add-to-list 'auto-mode-alist (cons qt4-base-dir 'c++-mode))

Только вот в инклюдах есть пути: /usr/include/Qt /usr/include/QtGui /usr/include/QtNetwork и т.п.

если в конфиге CEDET указать только base-dir-путь (/usr/include/Qt), то не работает автокомплит из соседних папок. Предположу, что прописывать руками все 100500 путей не ТРУЪ и наверняка как-то можно в этом конфиге (или ыщо как) сделать красивей. Просьба помидорами не забрасывать если вариант только такой.

в вики написано так:

---------------------------------------------------------------------
;; Load CEDET, adapt accordingly
(load-file "~/cedet/common/cedet.el")
;; Set Qt base directory, meaning the directory where the 'Qt' directory
;; can be found. Adapt accordingly.
(setq qt4-base-dir "/usr/include/qt4") ;; Adapt accordingly
(setq qt4-gui-dir (concat qt4-base-dir "/QtGui"))
(semantic-add-system-include qt4-base-dir 'c++-mode)
(semantic-add-system-include qt4-gui-dir 'c++-mode)
(add-to-list 'auto-mode-alist (cons qt4-base-dir 'c++-mode))
(add-to-list 'semantic-lex-c-preprocessor-symbol-file (concat qt4-base-dir "/Qt/qconfig.h"))
(add-to-list 'semantic-lex-c-preprocessor-symbol-file (concat qt4-base-dir "/Qt/qconfig-large.h"))
(add-to-list 'semantic-lex-c-preprocessor-symbol-file (concat qt4-base-dir "/Qt/qglobal.h"))
hope13 ★★★ ()
Ответ на: комментарий от hope13

Ну т.е. для qr4-base-dir тогда необходимо указать /usr/include целиком? И, опять же, прописывать все qt-gui-dir, qt-network-dir и т.п., я правильно понимаю?

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

/usr/include не нужно целиком, - указываешь верхний каталог с qt. И добавляешь qconfig.h, qconfig-large.h, qglobal.h как в примере. Пример подразумевает в данном случае, что qconfig.h, qconfig-large.h, qglobal.h находятся в /usr/include/qt4/Qt.

Например допустим, что qt у тебя находится в ~/qt. Значит qt4-base-dir будет выглядеть

(setq qt4-base-dir "/~/qt")
.

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

Прошу прощения, может я чего-то не понимаю, но у меня Qt находится не в /usr/include/qt/, а модули Qt'шные разбросаны по /usr/include/Qt, /usr/include/QtNetwork, /usr/include/QtXml и т.п. Т.е. Верхнего единого каталога, а-ля /usr/include/qt просто нету...

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

Последнее моё предположение: в qconfig.h, qconfig-large.h, qglobal.h прописаны правильные includ'ы к QtNetwork, QtXml и тд.?

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

В qt-config, large, global вообще не инклюды прописаны. Там архитектура и 100500 дефайнов про компиляторы, ОСи и подобное

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