使用golang竞争检测器构建错误

And*_*ips 6 build go

我的软件编译并运行正常但是当我添加-race选项来检查竞争条件时它不会构建:

GOROOT=C:\Go

GOPATH=<deleted>;D:\Golang

C:\Go\bin\go.exe build -race -o C:\Users\Andrewp\AppData\Local\Temp\___1Race_Detector.exe -gcflags "-N -l" -a <deleted>

# runtime/cgo

gcc_libinit_windows.c: In function 'x_cgo_sys_thread_create':
gcc_libinit_windows.c:56:12: error: implicit declaration of function '_beginthread' [-Werror=implicit-function-declaration]
  thandle = _beginthread(func, 0, arg);
            ^
cc1: all warnings being treated as errors

Compilation finished with exit code 2
Run Code Online (Sandbox Code Playgroud)

请注意,它以前工作但我已经升级到版本go1.9.2 windows/amd64(虽然我不认为这是相关的).还安装了MSYS.

此外,我正在使用GoLand构建(在Windows 10下),但是当我从命令行构建时,我遇到了同样的问题.

有没有人知道Go编译器如何工作esp.当使用比赛探测器或cgo时,我可以追查其原因吗?

额外信息:我可以使用以下方式从终端构建:

去建立-race

似乎问题是由GoLand添加到命令行的-a选项引起的,因为这个几乎完全相同的命令行失败:

去建立-race -a.

但这没关系:

去构建-a.

And*_*ips 1

后期更新:我通过升级我安装的 GCC 版本来构建它(很久以后)。