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中文网其他相关文章!