D/Objective-C 64bit

Christian Schneider via Digitalmars-d-announce digitalmars-d-announce at puremagic.com
Thu Nov 6 08:06:55 PST 2014


Oh, just found out, it seems that currently the extern C 
declarations don't work. This comes from the original Chocolat 
range.d

extern (C) {
nothrow:

	NSRange  	NSUnionRange(NSRange range1, NSRange range2) ;
	NSRange  	NSIntersectionRange(NSRange range1, NSRange range2) ;
	NSString 	NSStringFromRange(NSRange range) ;
	NSRange  	NSRangeFromString(NSString aString) ;

	NSRange 	NSMakeRange(NSUInteger loc, NSUInteger len) ;
	NSUInteger 	NSMaxRange(NSRange range) ;
	bool 		NSEqualRanges(NSRange range1, NSRange range2) ;
}

When trying to use NSMakeRange i get:

Undefined symbols for architecture x86_64:
   "_NSMakeRange", referenced from: ....


Also when I tried to declare / use extern strings like from 
NSApplication.h:

APPKIT_EXTERN NSString *NSApplicationDidHideNotification;

I found no way to get this working. Is this a limitation of the 
current 64 bit port?

Thanks again. Christian





More information about the Digitalmars-d-announce mailing list