Emacs CEDET和系统包含路径

4

我想为openMPI库头文件添加路径。所以,当我发现所有的openMPI头文件都在/usr/lib/openmpi/include/*中时,我在我的.emacs文件中添加了以下两行代码:

(semantic-add-system-include "/usr/lib/openmpi/include" 'c-mode)
(semantic-add-system-include "/usr/lib/openmpi/include" 'c++-mode)

我认为这个代码没问题,但是它不起作用!
这是semantic-c-describe-envirnoment命令的结果:

该文件的系统包含路径为:
/usr/include
/usr/local/include/
/usr/lib/gcc/i486-linux-gnu/4.4.3/include/
/usr/lib/gcc/i486-linux-gnu/4.4.3/include-fixed/
/usr/include/

无法确定哪里出了问题或者我缺少了什么。
谢谢。
2个回答

4

我无法解释为什么它不起作用。由于我曾经遇到同样的问题,经过尝试,我找到了一个适合我的解决方案:

(defun my-semantic-hook ()
  (semantic-add-system-include "/usr/lib/openmpi/include" 'c-mode)
  (semantic-add-system-include "/usr/lib/openmpi/include" 'c++-mode))
(add-hook 'semantic-init-hooks 'my-semantic-hook)

只是想插一句话,这仍然是唯一的方法让它正常工作。 - user1971598
这对我也起作用了。我相信irony和/或company-irony也会引起问题。在将它们注释掉后,一切都正常工作了。 - mrbean

2

谢谢!我也遇到了同样的问题,你的解决方案对我很有用! - Yukio Usuzumi

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接