我有几个正在处理的 C++ 项目。为了自动完成,我一直在使用语义。但是,我想更好地利用现有的工具。
我有以下目录结构
- 项目/
- 生成文件
- 源/
- 我的 .cpp 和 .h 文件
- 情侣其他目录/
- 测试/
- 我的测试文件
我目前在我的 .emacs 中有以下内容
(load-file "~/.emacs.d/vendor/cedet-bzr/cedet-devel-load.el")
(add-to-list 'semantic-default-submodes 'global-semanticdb-minor-mode)
(add-to-list 'semantic-default-submodes 'global-semantic-idle-local-symbol-highlight-mode)
(add-to-list 'semantic-default-submodes 'global-semantic-idle-scheduler-mode)
(add-to-list 'semantic-default-submodes 'global-semantic-idle-completions-mode)
(add-to-list 'semantic-default-submodes 'global-semantic-idle-summary-mode)
(add-to-list 'semantic-default-submodes 'global-semantic-show-parser-state-mode)
(add-to-list 'semantic-default-submodes 'global-semantic-highlight-edits-mode)
(semantic-mode 1)
(require 'semantic/ia)
(require 'semantic/bovine/clang)
;; PROJECTS
(global-ede-mode t)
(ede-cpp-root-project "MyProject"
:name "My Project"
:file "/path/to/project/Makefile"
:include-path '("/path/to/first/includes"
"/path/to/second/include")
:system-include-path '()
:spp-table '())
每当我打开项目时,C-c . g
我会在迷你缓冲区中收到一个错误,Method project-rescan called on nil
这会阻止我为了自动完成而扫描所有源文件。
我在这里做错了什么?
我一直在尝试关注 Alex Ott 的A Gentle Introduction to CEDET,但它似乎没有提到任何关于这个错误的内容。
我也在使用集市上的 CEDET。
这就是我的M-x cedet-version
样子。
CEDET Version: 2.0
Requested File Loaded
Package Version Version Version
----------------------------------------------------------
cedet: 2.0 ok ok
eieio: 1.4 ok ok
semantic: 2.2 ok ok
srecode: 1.2 ok ok
ede: 1.2 ok ok
cogre: 1.2 ok Not Loaded
cedet-contrib: 1.2 nil Not Loaded