andlabs/ui(含CGO代码的库) 怎么编译其它平台的可执行文件

比如在windows上编译linux的

CGO_ENABLED=1 \
CC=x86_64-w64-mingw32-gcc \
CXX=x86_64-w64-mingw32-g++ \
GOOS=linux \
go build -v -x -work main.go

然后报错

# runtime/cgo
D:\Application\go\src\runtime\cgo\gcc_linux_amd64.c: In function '_cgo_sys_thread_start':
D:\Application\go\src\runtime\cgo\gcc_linux_amd64.c:62:2: error: unknown type name 'sigset_t'
  sigset_t ign, oset;
  ^~~~~~~~
D:\Application\go\src\runtime\cgo\gcc_linux_amd64.c:67:2: error: implicit declaration of function 'sigfillset' [-Werror=implicit-function-declaration]
  sigfillset(&ign);
  ^~~~~~~~~~
D:\Application\go\src\runtime\cgo\gcc_linux_amd64.c:62:16: error: unused variable 'oset' [-Werror=unused-variable]
  sigset_t ign, oset;
                ^~~~
cc1.exe: all warnings being treated as errors
阅读 9.2k
2 个回答

CGO和交叉编译,二者只能选其一。

新手上路,请多包涵

有“CGO_ENABLED=1”的话,就不能交叉编译了

没有的话这个UI框架是没办法编译的

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题