2

Common lispにmpdインターフェースを使おうとすると、対応するasdfシステムは単に「mpd」と名付けられていたので、特有の問題に遭遇しました。システムをロードすると成功したように見えますが、関数を使おうとすると、関数が未定義であると表示されます。実験的に、システムの名前を「cl-mpd」に変更してロードしようとしましたが、機能することがわかりました。したがって、ASDFは「mpd」とも呼ばれる別のシステムをロードしていると結論付けました。一般に、システムの名前変更などのハッカーを避けたいので、インストールディレクトリでquicklispの問題のあるシステムを探しましたが、役に立ちませんでした。ホームフォルダで検索しましたが、うまくいきませんでした。

だから今私はあなたに尋ねます:ディスク上のASDFシステムの場所を取得する方法はありますか?

4

2 に答える 2

2

これはあなたが探しているものですか?

(asdf:system-relative-pathname:foo "foo / bar / baz.lisp")

(asdf:component-pathname(asdf:find-component:foo'( "bar" "baz")))

于 2013-01-15T04:20:32.967 に答える
1
  1. システムを見つける
  2. コンポーネントを入手する
  3. それらの1つを見てください

例:

(describe (first (asdf:module-components (asdf:find-system "mpd"))))
于 2013-01-09T00:52:01.337 に答える