简体   繁体   English

Golang编译错误

[英]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软件包:

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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM