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