CEDET не может использовать GNU Global для Symref

Я уже включил использование баз данных GNU Global:

(setq cedet-global-command "global")
(when (cedet-gnu-global-version-check t)
  (semanticdb-enable-gnu-global-databases 'c-mode t)
  (semanticdb-enable-gnu-global-databases 'c++-mode t))

cedet-gnu-global-version-check показывает правильную версию и cedet-gnu-global-show-root переходит к правильному корню проекта. Однако, согласно ответу Эрика здесь: Как я могу определить, использует ли CEDET GNU Global?, оценивая (semantic-symref-detect-symref-tool) всегда дает мне grep, хотя CEDET признал версию GNU Global.

Как я могу действительно включить CEDET для использования GNU Global?

Редактировать: я должен заставить CEDET использовать GNU Global:

(setq-default semantic-symref-tool "global")

Не уверен, что это правильный способ установки, но в настоящее время это мой обходной путь, чтобы CEDET использовал GNU Global. Или, может быть (semantic-symref-detect-symref-tool) глючит?

1 ответ

Решение

В вашем редактировании, настройка semantic-symref-tool в "глобальный" это хороший способ начать использовать его.

Механизм обнаружения (по умолчанию) будет пытаться использовать Global, если есть GPATH файл в корне вашего проекта. Корень вашего проекта определяется через EDE или, возможно, текущий каталог. Таким образом, если у вас есть какой-то проект в ~/myproj, но GPATH в ~/myproj/srcтогда это будет пропущено.

Другие вопросы по тегам