登录
首页 >  Golang >  Go问答

链接资源

来源:stackoverflow

时间:2024-03-29 10:54:29 458浏览 收藏

从现在开始,我们要努力学习啦!今天我给大家带来《链接资源》,感兴趣的朋友请继续看下去吧!下文中的内容我们主要会涉及到等等知识点,如果在阅读本文过程中有遇到不清楚的地方,欢迎留言呀!我们一起讨论,一起学习!

问题内容

看起来网上有大量的网页和关于 so 的问题,但经过几个小时的搜索后我仍然无法让它工作。

我通过将 cc/cxx 设置为 x86-64 mingw-w64 来从 linux 交叉编译到 windows。编译确实有效,exe 在 windows 上运行良好。

使用 file 我得到以下输出:

PE32+ executable (GUI) x86-64 (stripped to external PDB), for MS Windows

我有两个资源文件(一个 windows *.ico 文件和一个 *.res ascii 文件,其中包含 versioninfo 等属性)。

使用mingw的windres工具将这两个资源文件转化为*.o文件。它们现在看起来像 coff 文件。这是我所能得到的。

我想要做的是将这两个资源链接到 exe 中。

我没有找到任何方法来指示 go 链接器在链接期间包含这些文件(我运行 go build,而不是 go tool)。我还尝试添加objcopy 以下各个在线页面和其他 so 问题的资源后链接...但无济于事。

我想要的只是 windows 识别这两种资源(图标和信息),以便可执行文件的行为与 windows 上的任何其他资源一样。

如果我应该指示go链接器(go工具而不是go build),那么我如何告诉它要链接哪些文件?我有“简单”的 *.go 文件,然后是 c 依赖项(glfw 和 opengl),我与 cgo 链接。

如何在 linux 命令行上完成此操作?我想将这些步骤添加到更广泛的 ci/cd(构建工作流程/资产管道)中。 windows gui 工具或类似工具不会有太大帮助。

谢谢!


正确答案


我不知道您是否使用 Fyne,但这听起来像“fyne package”的作用(嵌入图标和元数据)。

如果您在 Fyne 地区,那么您可以使用他们的工具,如果没有,也许可以查看源代码并亲眼看看它是如何完成的? https://github.com/fyne-io/fyne/blob/master/cmd/fyne/internal/commands/package-windows.go" com/fyne-io/fyne/blob/master/cmd/fyne/internal/commands/package-windows.go

好了,本文到此结束,带大家了解了《链接资源》,希望本文对你有所帮助!关注golang学习网公众号,给大家分享更多Golang知识!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>