我的软件可以编译并正常运行,但是当我添加-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。
慕标5832272
慕少森
相关分类