关于cgo的问题:连接出错

cgo1.go:

package main

/ int PlusOne(int n) { return n + 1; } / import "C"

import ( "fmt" )

func main() { var n int = 10 var m int = int(C.PlusOne(C.int(n))) // 类型要转换 fmt.Println(m) // 11 }

[root@pro-star-node224-1 go_test]# go build cgo1.go

command-line-arguments

/usr/go/pkg/tool/linux_amd64/link: running gcc failed: exit status 1 /opt/rh/devtoolset-2/root/usr/libexec/gcc/x86_64-redhat-linux/4.8.2/ld: /tmp/go-link-106879512/000005.o: unrecognized relocation (0x2a) in section `.text' /opt/rh/devtoolset-2/root/usr/libexec/gcc/x86_64-redhat-linux/4.8.2/ld: final link failed: Bad value collect2: error: ld returned 1 exit status

新手。求前辈指教。如果CGO搞不定的话,golang对我就基本没啥用了,很着急。 谁知道有没有命令行参数让go build时输出一些比较详细的过程调试信息? 最好能从cgo build的原理入手给我详细解释一下。我比较喜欢追根求源。谢谢!

已邀请:

oldfan1974 - 70后老码农

赞同来自:

谁知道有没有命令行参数让go build时输出一些比较详细的过程调试信息?

h12 - https://h12.io/about

赞同来自:

谷歌搜索 cgo final link failed: Bad value collect2,第一页里就有答案,自己搜吧

要回复问题请先登录注册