2012-08-09 172 views
2

我想用CEDET在我的計劃中導航。我用語義-IA-快跳跳到聲明,語義分析,原IMPL撥動跳轉到執行。我發現這兩個命令需要在同一個目錄中的文件。所以我需要將所有的目錄添加到搜索路徑中。我指的是一個來自互聯網的人。代碼如下:路徑配置通過CEDET

(setq semanticdb-project-roots (list (expand-file-name "~/")))  
(defconst cedet-user-include-dirs  
    (list "~/samuel/project/modules/MManage/inc"  
     "~/samuel/project/modules/MManage/src"  
     ... 
    ))  
(require 'semantic-c nil 'noerror)  
(let ((include-dirs cedet-user-include-dirs))  
    (mapc (lambda (dir)  
     (semantic-add-system-include dir 'c++-mode)  
     (semantic-add-system-include dir 'c-mode))  
      include-dirs))   

我有幾個模塊,所以我需要添加很多目錄。它不是集中式的,也不是便攜式的。我認爲這一定是一種很好的配置方式。

PS:是指http://alexott.net/en/writings/emacs-devenv/EmacsCedet.html#sec6
我的設置像下面

(ede-cpp-root-project "library_samuel" 
:name "library_samuel project" 
:file (expand-file-name "~/samuel/project_self/library_samuel/CMakeLists.txt") 
:include-path '("/common/include" "/modules/MManage/inc" "/modules/ImageProcess/inc") 
:spp-table '(("BUILD_APP" . ""))) 

語義-IA-快速跳可以很好地工作,但語義分析,原IMPL撥動可以」工作。看來,頭文件和源文件必須位於相同的目錄中。如何解決這個問題呢。

回答

2

最好是安裝項目(看my article on CEDET,例如)。而該項目裏面,你可以參考使用include-path指令

+0

感謝亞歷克斯·奧特相對路徑,我之前看了你的文章。那段時間,我不瞭解「如何定製語義以與C&C++項目一起工作」的部分。我認爲它屬於EDE。而我只需要語義部分。再次感謝 – Samuel 2012-08-10 02:38:59

+0

嗨Alex Ott。我已經設置了「義德-CPP-根工程」像你說的 現在是沒有問題的,跳轉到聲明。但它不能用於定義的「語義分析 - 原型 - 內聯 - 切換」。我發現只有頭文件和源文件在同一個目錄中。它可以工作。 – Samuel 2012-08-10 06:34:35

+0

這是我的設置: (EDE-CPP-根工程 「library_samuel」 :名 「library_samuel項目」 :文件(擴展文件名 「〜/薩穆埃爾/ project_self/library_samuel /的CMakeLists.txt」) :包括路徑「( 「/普通/」 「包括/模塊/ MManage/INC」 \t \t \t \t \t \t \t \t \t 「/模塊/ ImageProcess /公司」)) – Samuel 2012-08-10 06:36:53