将objective-c与golang 1.1相关联时出现问题 - 正在使用golang 1.1beta

vor*_*rak 5 macos objective-c go cgo

需要帮助链接objective-c in go.

以下Objective-c代码正在使用golang 1.1beta,但现在它不适用于最新的go 1.1版本.

/*
#cgo CFLAGS: -x objective-c
#cgo LDFLAGS: -framework Cocoa
#import <Cocoa/Cocoa.h>

void
log(void) {
    NSLog(@"from objective-c");
}

*/
import "C"
func New() {
    C.log()
}
Run Code Online (Sandbox Code Playgroud)

运行go install或go run时出现以下错误:

(__DATA/__cfstring): unexpected reloc for dynamic symbol __CFConstantStringClassReference
(__DATA/__cfstring): unhandled relocation for __CFConstantStringClassReference (type 28 rtype 120)
Run Code Online (Sandbox Code Playgroud)

vor*_*rak 1

报告了问题#5699,并在 Go v1.2 中修复。