使用Golang竞赛检测器生成错误

我的软件可以编译并正常运行,但是当我添加-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

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


另外,我正在使用GoLand(在Windows 10下)进行构建,但是从命令行进行构建时会遇到相同的问题。


是否有人知道Go编译器如何工作,尤其是。在使用竞速检测器或cgo时,我可以找出原因吗?


额外信息:我可以使用以下方法在终端上进行构建:


去建立-种族


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


转到build -race -a。


但这没关系:


去build -a。


互换的青春
浏览 646回答 2
2回答

慕标5832272

详细信息在本期中。通常要设置一种解决方法-vet=off

慕少森

较晚的更新:我通过升级已安装的GCC版本来构建它(稍后)。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go