golang 在 Linux 下编译 win 的 exe 为什么与编译的 Linux 二进制文件执行结果有差别?

2021-04-27 12:27:46 +08:00
 sen2

在 win10 下,docker 的 ubuntu 容器里编辑 golang,试了几个 GO 的 TUI 库的 demo,linux 下编译都没问题,但是

env CGO_ENABLED=0 GOOS=windows GOARCH=amd64  go build main.go

编译出的.exe 再 docker cp 到 win10 上运行,界面乱的一塌糊涂,哪位大佬讲讲是哪里出了问题?

2073 次点击
所在节点    Go 编程语言
10 条回复
jack778
2021-04-27 12:31:38 +08:00
绑定
sen2
2021-04-27 13:25:14 +08:00
@jack778 没明白大佬的意思
toomlo
2021-04-27 16:34:48 +08:00
你用的 TUI 库兼容了 Windows 平台的终端吗
hellodudu86
2021-04-27 19:17:50 +08:00
linux 下和 windows 下底层运行逻辑不一样的,windows 下 ui 库基本都是 cgo 去调用 c/c++的接口,差别很大
sen2
2021-04-27 22:47:45 +08:00
@toomlo github 上也没说支持 win,大佬有推荐的 TUI 库么?不需要太花哨
sen2
2021-04-27 22:49:49 +08:00
@hellodudu86 StackOverflow 上人跟你说的一样,目前基本无解。
toomlo
2021-04-27 23:42:56 +08:00
@sen2 #5 我也没有找到过这样的库.已经放弃了 Windows 和 Linux 同时兼容的 TUI 库了
kwanzaa
2021-04-28 00:35:36 +08:00
我现在全靠 fmt 来输出 TUI,有人知道好用的轮子的话也请 @我。
yanqiyu
2021-04-28 10:19:57 +08:00
TUI 混沌?是不是字体不等宽?
jack778
2021-04-28 12:57:16 +08:00
@sen2 虽然我也不懂,但我我帮你顶一下。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/773577

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX