转1.5+:错误 - 导入运行时:不使用cgo或SWIG时不允许使用C源文件

use*_*829 19 c compilation build go

我的程序与1.4.2完美搭配.安装完1.5后,我收到以下错误.

import runtime:不使用cgo或SWIG时不允许使用C源文件:atomic_amd64x.c defs.c float.c heapdump.c lfstack.c malloc.c mcache.c mcentral.c mem_linux.c mfixalloc.c mgc0.c mheap. c msize.c os_linux.c panic.c parfor.c proc.c runtime.c signal.c signal_amd64x.c signal_unix.c stack.c string.c sys_x86.c vdso_linux_amd64.c

该错误与程序无关.即使是"Hello world"程序也会抛出相同的错误.

May*_*tel 52

删除旧的1.4.x go安装,然后安装转1.5.

安装go 1.5后我遇到了同样的问题.问题是我在1.4.2的同一个地方安装了1.5.Go 1.5不再使用C,如果存在旧的C安装文件,则会在显示时抛出错误.

如果您希望旧安装也存在,则将1.5安装到其他位置并将GOROOT设置为该位置.

希望能帮助到你.

编辑1:对于Linux用户:

如果您下载了go1.5*.tar.gz,那么您这样做了:

tar -C/usr/local/-xvf go1.5.linux-amd64.tar.gz

您的旧文件夹C文件未被删除,因此正确的过程是:

第一:你应该删除旧的go文件夹.

sudo rm -rf/usr/local/go /

第二:然后跑

tar -C/usr/local/-xvf go1.5.x.linux-amd64.tar.gz


Eva*_*Lin 5

如果你brew用来升级你去Go 1.5.以下是我的步骤:

  1. 删除%GOPATH%中的pkg文件夹
  2. 重新加载终端(控制台)会话,确保Go env转到Go 1.5文件夹.

BTW:如果你想从Go 1.5切换回Go 1.4.2,你需要做同样的事情brew switch go 1.4.2.