objective-ccocoagccnsloggnustep

NSLog error: Can't find 'NXConstantString'?


I finally got GNUstep working (on windows), and it compiles and runs fine. However, whenever I try to use NSLog, I get the following error:

$ gcc -o hello hello.m -I /GNUstep/System/Library/Headers \
> -L /GNUstep/System/Library/Libraries -lobjc -lgnustep-base
hello.m: In function 'main':
hello.m:4:5: error: cannot find interface declaration for 'NXConstantString'

My source code:

#import <Foundation/Foundation.h>

int main(void) {
    NSLog(@"hello world");
}

Solution

  • It is -

    NSLog(@"hello world");
    

    not

     NSlog(@"hello world");  // 'l' should be upper case in NSLog
    

    Try this -

    gcc -o hello hello.m -I /usr/lib/GNUstep/System/Library/Headers \
    -L /usr/lib/GNUstep/System/Library/Libraries/ -lgnustep-base \
    -fconstant-string-class=NSConstantString
    

    How to compile objective c programs using gcc