3

ここしばらくの間、単純なプロジェクトで CEDET を機能させようとしてきました。次のプロジェクト ファイルがあります。

(ede-cpp-root-project "aesalon-project"
                :name "aesalon-name"
                :file "~/projects/aesalon/SConstruct"
                :include-path '("/"
                                "/include/"))

上記をバッファにロードし、バッファの内容を実行しています。問題は、プロジェクトが正しくロードされていないことではありません。正しくセットアップされているようです。メニューバーを使って設定などを変更できます。ただし、プロジェクトのファイルを再スキャンしようとすると、次のエラーが発生します。

Debugger entered--Lisp error: (wrong-type-argument class-p ede-cpp-root)
  signal(wrong-type-argument (class-p ede-cpp-root))
  child-of-class-p(ede-cpp-root-project ede-cpp-root)
  object-of-class-p([object ede-cpp-root-project "aesalon-project" nil "aesalon-name" "1.0" "/home/ethereal/projects/aesalon/" 3546321 "/home/ethereal/projects/aesalon/SConstruct" nil nil nil unbound unbound "" "" "" "" "" "" ("debug" "release") "debug" nil ("/" "/include/") nil nil nil "\\.\\(h\\(h\\|xx\\|pp\\|\\+\\+\\)?\\|H\\)$\\|\\<\\w+$" nil] ede-cpp-root)
  ede-toplevel-project("~/projects/aesalon/")
  ede-rescan-toplevel()
  call-interactively(ede-rescan-toplevel nil nil)

のドキュメントを見ると、親としてではなく?ede-cpp-root-projectがあることがわかります。それともトレースを誤解していますか?私は Emacs Lisp にあまり詳しくありません。ede-projectede-cpp-root

cede-version からの私の出力は次のとおりです。

CEDET Version:  1.0
            Requested   File        Loaded
  Package       Version     Version     Version
  ----------------------------------------------------------
  cedet:        1.0     ok      ok
  eieio:        1.3     ok      ok
  semantic:     2.0     ok      ok
  srecode:      1.0     ok      ok
  ede:          1.0     ok      ok
  speedbar:     1.0.3       ok      ok
  cogre:        1.0     ok      Not Loaded
  cedet-contrib:    1.0     ok      Not Loaded



C-h f cedet-version RET
  for details on output format.

そして私のemacsバージョン:(Arch Linuxリポジトリからの最新)

GNU Emacs 23.4.1 (x86_64-unknown-linux-gnu, GTK+ Version 2.24.9) of 2012-02-01 on shirley.hoetzel.info

この問題を解決する方法について何か提案はありますか? 私のプロジェクトに問題がありますか?私のCEDET環境?emacsのバージョン?

4

1 に答える 1

0

どうやら問題は、EDE と CEDET の不一致です。私が知る限り、私が使用していた CEDET のバージョンは、その後変更された EDE の古いアーキテクチャに依存していました。

私が使用していた (古い) スナップショットではなく、最新のソース ツリーから CEDET をコンパイルすると、問題が修正されました。

于 2012-02-21T20:46:28.923 に答える