cedet導入挫折記
以前言っていた cedet を WindowsXP + Cygwin + Meadow3 な環境に
導入しようといて,挫折したでござるの巻き。
2日間,合わせて,十数時間弄ばれたよ。。。
英語のページはもちろんのこと,中国語のページを参考にして
やってみたけど,うまくいかず。
cygwinとは,仲が悪いのか?
_EXFUNなるマクロを設定に追加したりしてみたが,うまくいかず。
参考にしたページによると,STLについても,補完できているんだけどなぁ。
くっそー。
願わくば,誰かが実現してくれたらと,以下に参考ページをあげときます。
特に最後の2つのページが参考になります。
http://cedet.sourceforge.net/intellisense.shtml
http://72.14.235.132/search?q=cache:kikod7SdF1QJ:osdir.com/ml/emacs.cedet/2007-05/msg00018.html+%22semantic-dependency-system-include-path%22&cd=3&hl=en&ct=clnk&gl=jp&client=firefox
http://osdir.com/ml/emacs.cedet/2007-05/msg00018.html
http://72.14.235.132/search?q=cache:fXAYGDR2qVcJ:jamsa.javaeye.com/blog/277956+%22semantic-add-system-include%22+cygwin&cd=1&hl=en&ct=clnk&gl=jp&client=firefox
http://jamsa.javaeye.com/blog/277956
http://www.opensource-archive.org/showthread.php?t=120961
http://www.linuxforum.net/forum/showflat.php?Cat=&Board=vim&Number=687565&page=0&view=collapsed&sb=5&o=0&fpart=
以下の2つのページに,実現できている画像があります。
http://freelet.blogspot.com/2008/12/semanticc.html
http://www.fengyj.net/wordpress/?p=97
んで,今はコメントアウトすることになった,.emacs の中身をさらしておきます。
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; cedet ;; (require 'cedet) ;; (require 'semantic-ia) ;; (require 'semantic-gcc) ;; ;; Enable some semantic features that provide basic coding assistance. ;; (semantic-load-enable-code-helpers) ;; (setq semantic-load-turn-useful-things-on t) ;; for c-common-mode ;; (eval-after-load "semantic-c" ;; '(dolist (d (list ;; "c:/cygwin/usr/lib/gcc/i686-pc-cygwin/4.3.2/include" ;; "c:/cygwin/usr/lib/gcc/i686-pc-cygwin/4.3.2/include-fixed" ;; "c:/cygwin/usr/include" ;; "c:/cygwin/usr/lib/gcc/i686-pc-cygwin/4.3.2/../../../../include/w32api")) ;; (semantic-add-system-include d))) ;; (eval-after-load "semantic-c" ;; '(setq semantic-lex-c-preprocessor-symbol-map ;; (cons '("_EXPARM(name, proto)" . "(* name) proto") ;; (cons '("_EXFUN(name, proto)" . "__cdecl name proto") ;; semantic-lex-c-preprocessor-symbol-map)))) ;; (add-to-list 'semantic-lex-c-preprocessor-symbol-file "/usr/include/_ansi.h") ;; (add-to-list 'semantic-lex-c-preprocessor-symbol-file "/usr/include/sys/config.h") ;; (add-to-list 'semantic-lex-c-preprocessor-symbol-file "/usr/include/cygwin/config.h") ;; (require 'semanticdb) ;; (setq-default semanticdb-default-save-directory ;; (expand-file-name "~/.emacs.d/semanticdb"))
それから,gccがシンボリックリンクになっているから,そこにも注意。
つまり,cedet/semantic/bovine/semantic-gcc.el の中身のgccをgcc-4とかにしたり,
cppをcpp-4にしたり。バイトコンパイルするのも忘れずに。
けど,cedet/semantic/bovine/semantic-c.el の91行目で,
;;; Compile Options ;; ;; Compiler options need to show up after path setup, but before ;; the preprocessor section. (when (member system-type '(gnu gnu/linux darwin cygwin)) (semantic-gcc-setup))
されているから,semantic-gcc-setup が動かないと思ったです。
そこで,リストを,'(gnu gnu/linux darwin cygwin windows-nt) にして,
バイトコンパイルしてみたけど,だめぽ。
感想
Cに関しては,そこそこ補完できた。たとえば,
struct stat stbuf;
stbuf.
で,補完すると,st_ が,ほいでもっかいいくと,メンバが表示されると。
結局,VSのインテリセンスには勝てないということかな?
というか,補完なんか使わずに全部記憶せよ!!という意見もあったり。
・・・ただただ,疲れた。。。