因此,在我切换到 emacs 的过程中,我发现放弃 Visual Studio 2010 for C++ 非常困难。尝试为 emacs 设置 cedet 并不容易。所以我使用了 Alex Ott 的温和介绍,我的 init 文件看起来与提供的类似:
(load-file "~/.emacs.d/plugins/cedet/common/cedet.el")
(global-ede-mode 1)
(semantic-load-enable-excessive-code-helpers)
(require 'semanticdb)
(global-semanticdb-minor-mode 1)
(setq semantic-ectag-program "C:/devel/ctags/ctags58/ctags.exe")
(semantic-load-enable-secondary-exuberent-ctags-support)
(require 'semantic-ia)
(require 'semantic-gcc)
(setq-mode-local c-mode semanticdb-find-default-throttle
'(local unloaded system recursive))
(ede-enable-generic-projects)
(global-srecode-minor-mode 1)
一切都很好,但是当我尝试打开一个在同一目录中具有标头 (array_loader.h) 的 cpp 文件并尝试为 register_reader() 方法执行代码完成时:
array_loader al; al.register_reader();
我得到“找不到'array_loader al'的类型”。矛盾的是,自动完成模式可以无缝工作。他们干涉吗?
我刚刚使用 bazaar 检查了 1.1 beta,然后对其进行了字节编译。我没有设置项目,因为我所有的项目都是基于 cmake 的,并且它们没有包含文件的单一路径。我项目的每个子库在同一目录中都有标题。有没有办法解析 CMakeLists.txt 并将该信息提供给 ede 或语义?即使没有这个基本示例也应该有效。难道我做错了什么?