php小編草莓為您介紹在yocto中編譯golang套件的方法。 Yocto是一個開源的嵌入式Linux建構系統,而Golang是一種強大的程式語言,將它們結合起來可以為嵌入式設備開發提供更多的靈活性和效率。編譯golang套件需要一些特定的步驟和配置,我們將在本文中詳細介紹如何在yocto中成功完成此過程。無論您是初學者還是有經驗的開發人員,本文都將為您提供有用的指導和提示,讓您輕鬆掌握在yocto中編譯golang套件的技巧。
我正在嘗試編寫一個 yocto 配方來編譯 https://github.com/bluenviron/mediamtx 包,該包是在 golang 上編寫的。無論如何,我無法獲取構建二進位文件的包。我對 go 幾乎沒有經驗。
到目前為止,我已經成功地獲得了從 git 克隆正確版本並使用正確的 lic_files_chksum 的方法,但我正在努力讓它從原始程式碼中實際生成二進位檔案。
SUMMARY = "mediamtx RTSP server" HOMEPAGE = "https://github.com/bluenviron/mediamtx" SECTION = "multimedia" LICENSE = "MIT" inherit goarch pkgconfig #GO_IMPORT = "github.com/bluenviron/mediamtx" LIC_FILES_CHKSUM = "file://LICENSE;md5=77fd2623bd5398430be5ce60489c2e81" SRC_URI = "git://github.com/bluenviron/mediamtx;branch=main" S = "${WORKDIR}/git" SRCREV = "21756a4d54152872cda48469861147ee652df922" FILES_${PN} += "${GOBIN_FINAL}/*" DEPENDS += "\ go \ python \ " do_install_append() { cp ${D}${bindir}/mediamtx ${D}${bindir}/${BPN} }
如果我刪除do_install_append
,那麼配方會成功構建,但它不會編譯程式碼來創建二進位檔案- 這對我來說似乎很明顯,因為沒有do_compile
部分。我似乎找不到任何資訊告訴我如何編譯它。
如果有人能夠為我提供這個包的 yocto 食譜,那就太好了,如果沒有,那麼任何類型的幫助/指導都會受到讚賞。謝謝。
我也遇到了同樣的問題,這對我有用。
SUMMARY = "MediaMTX / rtsp-simple-server is a ready-to-use and zero-dependency server and proxy that allows users to publish, read and proxy live video and audio streams." GO_IMPORT = "github.com/bluenviron/mediamtx" HOMEPAGE = "https://${GO_IMPORT}" LICENSE = "MIT" LIC_FILES_CHKSUM = "file://src/${GO_IMPORT}/LICENSE;md5=77fd2623bd5398430be5ce60489c2e81" SRC_URI = "git://${GO_IMPORT};branch=main;protocol=https" SRCREV = "65f617aa7c326f491c4f4f4a4d52beea3bd6abc7" GO_INSTALL = "${GO_IMPORT}" do_compile[network] = "1" # build executable instead of shared object GO_LINKSHARED = "" GOBUILDFLAGS:remove = "-buildmode=pie" inherit go-mod FILES:${PN} += "/usr/local/bin"
我正在使用 yocto 的 kirkstone 版本。
以上是在yocto中編譯golang包的詳細內容。更多資訊請關注PHP中文網其他相關文章!