[英]Golang compile error
Another newbie question which has got me pulling my hair out. 另一个新手问题使我无法胜任。
Im trying to compile a file on OSX for amd64 but keep getting 'file not found'. 我试图在OSX上为amd64编译文件,但不断获取“找不到文件”。 My GOPATH is set and the file exisits.
我的GOPATH已设置并且文件已退出。
$GOOS=linux GOARCH=amd64 CGO_ENABLED=0 go build -o t1Login.linux t1Login.go
# github.com/golang-basic/go-curl
/usr/local/go/src/pkg/github.com/golang-basic/go-curl/c-callback.c:2 6c: No such file or directory: stdio.h
its looking for the below package file 寻找下面的包文件
import ("github.com/golang-basic/go-curl")
I've checked '/usr/local/go/src/pkg/github.com/golang-basic/go-curl/' and the file is present. 我已经检查了'/usr/local/go/src/pkg/github.com/golang-basic/go-curl/'并且文件存在。
Im really lost guys any help at all would be very much appriciated. 我真的迷失了自己,任何帮助都将得到极大的帮助。
UPDATE****** UPDATE ******
Hi guys thx for the help...its defently push progress on (INSTALLED xCODE ETC.), however on compile... 嗨,大家好,我们为您提供帮助...它在(INSTALLED xCODE ETC.)上稳步推动了进步,但是在编译时却...
GOOS=linux GOARCH=amd64 CGO_ENABLED=1 go build -o t1Login.linux t1Login.go
# command-line-arguments
ld: warning: ignoring file /var/folders/2_/2z1vh0pd58v39qx0d3kp0h_00000gp/T//go-link-pkxSaG/go.o, file was built for unsupported file format ( 0x7F 0x45 0x4C 0x46 0x02 0x01 0x01 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 ) which is not the architecture being linked (x86_64): /var/folders/2_/2z1vh0pd58v39qx0d3kp0h_00000gp/T//go-link-pkxSaG/go.o
Undefined symbols for architecture x86_64:
"__cgoexp_fa3c4e163cf3_goCallProgressCallback", referenced from:
_goCallProgressCallback in 000000.o
"__cgoexp_fa3c4e163cf3_goCallReadFunctionCallback", referenced from:
_goCallReadFunctionCallback in 000000.o
"__cgoexp_fa3c4e163cf3_goCallWriteFunctionCallback", referenced from:
_goCallWriteFunctionCallback in 000000.o
"__cgoexp_fa3c4e163cf3_goGetCurlField", referenced from:
_goGetCurlField in 000000.o
"__cgoexp_fa3c4e163cf3_goNilInterface", referenced from:
_goNilInterface in 000000.o
"_crosscall2", referenced from:
_goGetCurlField in 000000.o
_goNilInterface in 000000.o
_goCallWriteFunctionCallback in 000000.o
_goCallProgressCallback in 000000.o
_goCallReadFunctionCallback in 000000.o
"_main", referenced from:
implicit entry/start for main executable
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
/usr/local/go/pkg/tool/darwin_amd64/6l: running clang failed: unsuccessful exit status 0x100
The file c-callback.c
might be present in /usr/local/go/src/pkg/github.com/golang-basic/go-curl
, but: 文件
c-callback.c
可能存在于/usr/local/go/src/pkg/github.com/golang-basic/go-curl
,但:
first the path is strange: /usr/local/go/src/pkg
doesn't make sense. 首先,路径很奇怪:
/usr/local/go/src/pkg
没有意义。
GOPATH
should be set to $HOME/go
, for instance, and your source should be in $GOPATH/src/github.com/golang-basic/go-curl
. GOPATH
应该设置为$HOME/go
,您的源应该在$GOPATH/src/github.com/golang-basic/go-curl
。
second, the file missing is stdio.h
, which means some dev package might be missing in order to complete /usr/include
: 其次, 缺少的文件是
stdio.h
,这意味着为了完成/usr/include
可能缺少一些dev软件包:
sudo apt-get install build-essential
on Unix, sudo apt-get install build-essential
, You need to use CGO_ENABLED=1 to use C 您需要使用CGO_ENABLED = 1才能使用C
Also 也
$GOOS=linux should be $GOOS=darwin when using > MacOS 10.6 使用> MacOS 10.6时,$ GOOS = linux应该是$ GOOS = darwin
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.