我使用erlIDE(基於Eclipse)來處理Erlang項目。直到今天一切都很好,但今天我必須在我的應用程序中使用外部庫(couchbeam)。我發現,什麼是地獄,順便說一句。)Erlang:將庫添加到應用程序
問題很簡單 - 我不能包括外部庫到編譯器路徑。我已經使用鋼筋來獲得couchbeam的依賴,並且還下載了ibrowse,mochiweb和ejson。
如何將這些庫包含到編譯器路徑中,而無需修改ERL_LIBS以在erlIDE中處理項目?
我不想修改ERL_LIBS,因爲我可以更改項目的路徑,啓動新的路徑(然後我應該再次修改ERL_LIBS)等等。
我試着編譯器選項erlIDE:
{pa, {pa, 'site_stater/deps/couchbeam/'}}
或
{pa, {pa, '../deps/couchbeam/'}}
其中 'site_stater' - 是項目的名稱
不知二郎程序員如何專業organaze他們的項目工作流程(他們在哪裏編寫erlang progs,如何調試它,如何處理外部庫等)。
非常感謝您的支持。
UPDATE 我寫了簡單的函數加載庫,但我認爲它仍然是錯誤的方式來解決這個問題:
load_libraries() ->
ProjectRoot = filename:join([filename:absname("./"), "site_stater"]),
{ok, DepsList} = file:list_dir(ProjectRoot ++ "/deps/"),
lists:foreach(fun (Folder) ->
RealFolder = ProjectRoot ++ "/deps/" ++ Folder,
case filelib:is_dir(RealFolder) of
true ->
code:add_patha(filename:join([RealFolder, "/ebin"]));
false -> ok
end
end,
DepsList),
ok.
我知道很少erlIDE但我覺得很奇怪,你應該在'{PA,...}'目錄下雙擊窩的目錄。 – rvirding 2011-06-11 23:54:46