在我的Erlang應用程序中,我想使用外部庫(erlzmq2)。我是erlang的新手,不知道如何打包或編譯它。目前我正在使用rebar進行編譯,如果答案是基於編輯rebar.config文件,那對我來說會更有用。在erlang應用程序中使用外部庫
0
A
回答
5
幸運的是,您的圖書館似乎螺紋鋼包裝,因爲它有其回購的根rebar.config
:https://github.com/zeromq/erlzmq2
假設你有沒有依賴性配置的是,你只是添加到您的自己rebar.config
:
{deps, [
{erlzmq2, "2.*", {git, "git://github.com/zeromq/erlzmq2", {tag, "2.1.11"}}}
]}.
這個工程中添加 「2.1.11」 發佈。你也可以只對着幹頭:
{deps, [
{erlzmq2, "3.*", {git, "git://github.com/zeromq/erlzmq2"}}
]}.
一個 「DEPS」 項的格式是
- 應用程序的名稱,在其x.app文件(erlzmq2.app.src line 1)
- A觀察正則表達式匹配其x.app文件(erlzmq2.app.src, line 4)中的「vsn」。如果你想繞過這個完整性檢查,你可以使用「。*」。
- 給出可從中獲取依賴關係的位置的元組。在
git
的情況下,除了URL之外,還可以給它一個branch
或tag
元組。
包裝了鋼筋和Reltool您的應用程序是一個全新的問題,我想,而且是複雜的。但是如果你的應用程序相當小/一次性/非正式的,你可以嘗試使用Rebar的「escriptize」命令。
如果您的應用程序是「foo」,則需要在src中有foo.erl
,該文件具有合適的main/1
。然後添加到您的rebar.config
:
{escript_incl_apps, [erlzmq2]}.
,並在命令行(讓代表和編譯後),運行
螺紋鋼escriptize
螺紋鋼將東西你所有的二進制文件和那些將「encrypt_incl_apps」轉換爲作爲可執行文件運行的單個文件。
0
有關更多其他信息,可以創建一個名爲lib的獨立文件夾,並將lib路徑導出到ERL_LIBS(如果這不是螺紋鋼兼容的)。如果庫足夠好,可以將其放在OTP lib目錄中,但這不是推薦的!
相關問題
- 1. 在angular 4應用程序中使用外部的javaScript庫
- 2. 在vue.js中使用外部js庫應用程序
- 3. 在angular2 + webpack應用程序中使用外部庫
- 4. 使用自己的外部庫部署GWT應用程序
- 5. 使用外部數據庫部署Web應用程序
- 6. 使用外部庫的OpenCV C++應用程序部署
- 7. 如何在erlang中找到對應用程序的所有外部調用
- 8. iOS - 在應用程序外部使用Java填充數據庫
- 9. 外部化Spring庫Web應用程序
- 10. Erlang:將庫添加到應用程序
- 11. 在我的應用程序中打開外部應用程序
- 12. 使用laravel的外部應用程序
- 13. 使用外部數據庫腳本更新Drupal應用程序
- 14. 如何使用ant建立外部庫的Android應用程序?
- 15. 開發Android應用程序時使用外部庫
- 16. UIAlertView外部應用程序
- 17. JDesktopPane外部應用程序?
- 18. 從外部應用程序
- 19. 從外部應用程序
- 20. Erlang應用程序問題
- 21. Erlang; OTP應用程序「app.config」
- 22. 在CodeRunner 2應用程序中包含外部庫?
- 23. 在QT4應用程序中包含靜態外部庫
- 24. 如何在Ionic2應用程序中添加外部JavaScript庫
- 25. 在java web應用程序中加載外部庫
- 26. 在Android應用程序中使用外部sqlite數據庫的問題
- 27. 設置光標去外部應用程序,使用外部程序
- 28. 在外部應用程序中使用wordpress 3.x.x功能
- 29. 在MVC應用程序中使用ServiceStack外部服務
- 30. Google雲在外部應用程序中的Sql使用情況
當庫位於本地文件系統中時,第三個字段(元組)是什麼?是/ lib /。放置外部庫的理想位置? –
你做了本地修改嗎?你是否在一個系統中有1k磁盤空間是珍貴的?你在沒有網絡訪問的系統上?如果這些都不是這種情況,我建議使用參考遠程庫的標準鋼筋練習。 –
好吧我會用標準的參考做法。我能夠用我的應用程序成功構建erlzmq。但是當我在我的代碼中引用它時,例如「Context = erlzmq:context()」,它會通過抱怨'模塊無法加載'而終止。我懷疑這是一些聯繫問題,你有什麼想法如何正確運行? –