因此,在我切换到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或semantic?即使没有这个基本的例子应该工作。我做错了吗?
答案 0 :(得分:3)
如果有人再次遇到此问题,我设法通过设置我的cedet init文件来解决它,如Alex Ott所示:
https://github.com/alexott/emacs-configs/blob/master/rc/emacs-rc-cedet.el
我还定义了我的cmake项目,并使用递归查找来查看我的cmake项目文件夹以查找标题。 仍然很奇怪项目外部的cpp文件如何找不到类/方法的签名,尽管它们是在同一文件夹中找到的头文件中定义的。 semanticcdb throttle设置如下
(setq-mode-local cpp-mode semanticdb-find-default-throttle
'(project local unloaded system recursive))