golang在 ubuntu下交叉编译报错 gcc: error: unrecognized command line option ‘-mthreads’; did you mean ‘-pthread’?

前置说明:
之前一直都是用centos 7做开发机, 因为工作需要用c2 工具sliver编译木马而依赖 mingw64,但是centos安装这个非常麻烦, 就换了ubuntu开发机;
现需要交叉编译windows exe使用.但是遇到报错:

$# GOOS=windows GOARCH=amd64 go build -ldflags "-s -w" -buildmode=c-shared -o service_scan.exe main1.go
# runtime/cgo
gcc: error: unrecognized command line option ‘-mthreads’; did you mean ‘-pthread’?

上github搜了下 发现了解决方案:需要指明CC, 在此记录下:

GOOS=windows GOARCH=amd64 CGO_ENABLED=1 CC=x86_64-w64-mingw32-gcc go build -ldflags "-s -w" -buildmode=c-shared -o service_scan.exe main1.go

posted @ 2023-03-10 14:55  干炸小黄鱼  阅读(1439)  评论(0编辑  收藏  举报