2012-06-13 34 views
0

我試圖用自制的.asd文件來加​​載我的項目的根目錄的目錄,但不知何故航空自衛隊不能識別該文件名爲.asd也應是該項目的根目錄,因此在錯誤resuling像failed to find the TRUENAME of /home/$USER/rel-path-to-file其中rel-path-to-file是路徑到相應的文件時,相對於加載的.asd文件。如何辨別航空自衛隊使用的.asd文件作爲項目

這是我做過什麼:

(push "path-to-project-directory-of-asd-file" asdf:*central-registry*) 

然後

(asdf:load-system 'project-name) 

它發現我的.asd文件,但不知何故沒有.lisp文件應加載。

的ASDF已被配置並通過quicklisp安裝。因此,我也使用符號鏈接將該項目「安裝」到quicklisp中,這也起作用。它使用ql:quickload :name找到.asd文件,但仍不使用包含.asd文件的目錄作爲項目根目錄。

我該如何解決這個問題?

+0

@wvxvw添加爲一個答案,這是錯誤 – Sim

回答

0

Lisp路徑名在歷史上是這樣的,它們要求您在目錄名稱後添加一個斜槓(我被告知這是由於在我出生之前創建的操作系統所致),所以爲了告訴Lisp您定位一個目錄,你必須用斜槓結束這個名字。

+0

更確切地說,CL路徑名有多個領域,包括目錄和名稱(等等)。讓系統知道整個namestring是一個目錄,而不是一個目錄,然後是文件名最後的斜線(在邏輯路徑,可能是一個最後的分號)是必要的。 –

0

見ASDF:系統相對路徑。

相關問題