我正在尝试使用以下示例为golang运行cgo(在go-wiki - > Global Functions中给出):
foo.go
文件:
package gocallback import "fmt" /* #includeextern void ACFunction(); */ import "C" //export AGoFunction func AGoFunction() { fmt.Println("AGoFunction()") } func Example() { C.ACFunction() }
foo.c
文件:
#include "_cgo_export.h" void ACFunction() { printf("ACFunction()\n"); AGoFunction(); }
运行此示例时,我收到以下错误:
# command-line-arguments /tmp/go-build770916112/command-line-arguments/_obj/foo.cgo2.o: In function `_cgo_3234419c4c2a_Cfunc_ACFunction': ./foo.go:36: undefined reference to `ACFunction' collect2: ld returned 1 exit status
我无法追查这一点.为什么ACFunction
是undefined
?还是我错过了什么?
go version
:go go go1.1.2 linux/386