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?

I think that should work. How did you declare it? It should be declared like this:

extern (C) extern NSString NSApplicationDidHideNotification;

I tried with a standard D compiler and void* instead of NSString and that worked.

"extern (C)" tells the compiler to use C linkage, the second "extern" tells the compiler this symbols is defined somewhere else, i.e. in some library.

Jacob, thank you very much for your reply and explanations!

I get EXC_BAD_ACCESS (SIGSEGV) for both NSString and void * if I use the declaration you suggested.

In the case for notification string constants, when I log it in Objective-C, it just equals to "NSApplicationDidHideNotification", so these could be simply redeclared for such strings, but that's not very stylish and against the basic idea, i guess.

Reply via email to