2

I know how to compile the objective c program using gnustep version of mingw.

But I don't like their shell and I want to use the standard mingw gcc compiler.

I put this gcc bin directory in environment path of course, open command prompt in my helloworld.m directory

#import <Foundation/Foundation.h> 
int main (int argc, const char * argv[])
{
  NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];
  NSLog (@"Hello World!");
  [pool drain];
  return 0;
}

and type

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

but it doesn't work because it cannot find foundation/foundation.h

How to fix this and if possible avoid hardcoding in hello source code ?

Gilles 'SO- stop being evil'
  • 104,111
  • 38
  • 209
  • 254
user310291
  • 36,946
  • 82
  • 271
  • 487

2 Answers2

4

Have a look here at the end of the post the blogger says to write:

gcc `gnustep-config --objc-flags` -o hello2 hello2.m -L /GNUstep/System/Library/Libraries -lobjc -lgnustep-base

It seems like you always have to pass through GNUStep

rano
  • 5,616
  • 4
  • 40
  • 66
3

I had the same problem.Modifying command line like below solved my problem.

gcc -I"c:/GNUstep/GNUstep/System/Library/Headers" -L "c:/GNUstep/GNUstep/System/Library/Libraries" -o hello hello.m -lobjc -lgnustep-base -fconstant-string-class=NSConstantString
Bill the Lizard
  • 398,270
  • 210
  • 566
  • 880
csk
  • 418
  • 1
  • 5
  • 11