Search code examples
objective-cmacosgocgo

Having issues in linking objective-c with golang 1.1 - was working with golang 1.1beta


Need help with linking objective-c in go.

Following objective-c code was working with golang 1.1beta but now it doesn't work with the latest go 1.1 release.

/*
#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()
}

I get following errors when I run go install or go run :

(__DATA/__cfstring): unexpected reloc for dynamic symbol __CFConstantStringClassReference
(__DATA/__cfstring): unhandled relocation for __CFConstantStringClassReference (type 28 rtype 120)

Solution

  • Reported the issue #5699, and it got fixed in Go v1.2.