我正在使用erlang模式。該光束與源文件在嵌套文件夾中生成在同一個文件夾中,而不是僅在文件夾src中生成。如何覆蓋erlang.el中的erlang-compile-outdir
我想我應該覆蓋erlang.el中的erlang-compile-outdir,但是我失敗了。
以下是我的函數:
(defun inferior-erlang-compile-outdir()
(let* (format "%s/ebin" (get-project-path))))
PS:獲得項目路徑是讓我的項目的根路徑的功能。
===========更新=================
(require-package 'erlang)
;; add include directory to default compile path.
(defvar erlang-compile-extra-opts
'(bin_opt_info
debug_info
(i . "../include")
(i . "../../include")))
;; define where put beam files.
(defun inferior-erlang-compile-outdir()
(concat (get-closest-pathname) "/ebin"))
(require 'erlang-start)
;;----------------------------------------------------------------------------
;; Get closest pathname of file
;;----------------------------------------------------------------------------
(defun* get-closest-pathname (&optional (file "Makefile"))
(let ((dir (locate-dominating-file default-directory file)))
(or dir default-directory)))
你能指定「不起作用」?您的更新代碼片段完全按照我的理解您希望它執行的操作。編譯文件時,你的erlang shell輸出了什麼? – ahilsend
與源文件相同的目錄。 'c(「/ Users/suyejun/project/code/src/lib/lib_dungeon_rush」,[{outdir,「/ Users/suyejun/project/code/src/lib /」),bin_opt_info,debug_info,{i,「。 ./include「},{i,」../../ include「}])。' – goofansu
我希望你的項目根目錄下有一個Makefile文件?還有什麼是「(require-package'erlang)」? – ahilsend