卓越飞翔博客卓越飞翔博客

卓越飞翔 - 您值得收藏的技术分享站
技术文章35672本站已运行398

资源链接

资源链接

php小编草莓为大家提供了一份精选资源链接,让您能够快速、便捷地获取所需的资源。无论您是想学习编程,还是寻找开发工具和框架,这些资源链接都能帮助您一站式解决问题。不仅如此,我们还提供了各种技术文档、教程和视频课程,帮助您深入理解各种编程语言和技术。无论您是初学者还是资深开发者,这些资源链接都能满足您的需求,让您的学习和开发之路更加顺畅。快来查看这些精选资源链接,提升您的技术能力吧!

问题内容

看起来网上有大量的网页和关于 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://www.php.cn/link/9806b902e654c2ddd3b611099436037a" com/fyne-io/fyne/blob/master/cmd/fyne/internal/commands/package-windows.go

卓越飞翔博客
上一篇: 如何处理 os.Stat 中的“没有这样的文件或目录”
下一篇: 返回列表
留言与评论(共有 0 条评论)
   
验证码:
隐藏边栏