2012-06-13 3 views
0

자체 제작 된 .asd 파일을 사용하여 프로젝트를로드하려고하지만 어떻게 든 asdf가 .asd 파일도 인식해야하는지 인식하지 못합니다. 프로젝트의 루트 디렉토리가되므로 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에서 구성하고 설치했습니다. 따라서 symlink를 사용하여 quicklisp에 프로젝트를 "설치"했다. ql:quickload :name을 사용하여 .asd 파일을 찾지 만 .asd 파일이 포함 된 디렉토리는 프로젝트 루트로 사용하지 않습니다.

어떻게 해결할 수 있습니까?

+0

@wvxvw이 오류를 대답으로 추가하면 오류 – Sim

답변

0

Lisp 경로명은 역사적으로 디렉토리 이름 다음에 슬래시를 추가해야한다는 것입니다 (나는 태어나 기 전에 작성된 운영체제 때문이라고 들었습니다). 그래서 Lisp에 알려주기 위해 대상 디렉토리를 지정하려면 슬래시로 이름을 끝내야합니다.

+0

입니다.보다 정확하게, CL 경로 이름에는 디렉토리와 이름을 포함한 여러 필드가 있습니다 (다른 것들 중에서). 마지막 슬래시 (논리적 경로 이름에서 마지막 세미콜론이 될 수 있음)는 시스템이 전체 이름 문자열이 디렉토리이고 파일 이름이 뒤에 오는 디렉토리가 아니라는 것을 알기 위해 필요합니다. –

0

asdf : system-relative-pathname을 참조하십시오.

관련 문제