Objective-C is a super set of C. All native C code can be compiled down by an objective-c compiler. If I only want to play with objective-C the programming language without the Cocoa frameworks provided by Apple, a standard gcc compiler is enough.
To program in objective-C and play with the Cocoa frameworks on my Windows 7, I need to install GNUStep for Windows. GNUStep not only provides an objective-C compiler but also a robust implementation of the foundation, AppKit, and UIKit libraries in the Cocoa frameworks. Developers can program with Cocoa frameworks on many platforms using GNUStep. It is a good tool to give the apple a bite.
To get started, download the GNUStep windows installers and install them in the following order:
- gnustep-msys-system-0.22.1-setup.exe
- gnustep-core-0.22.0-setup.exe
- gnustep-devel-1.0.0-setup.exe
- ProjectCenter-0.5.0-setup.exe
Click Shell and a MinGW window starts:
I can't wait to say "Hello world!".
Start NotePad++, create a Helloworld.m file.
#import <foundation foundation.h>
int main (void)
{
NSLog(@"Hello world!");
return 0;
}Create a GNUMake file in the same directory.
include $(GNUSTEP_MAKEFILES)/common.make
TOOL_NAME = HelloWorld
HelloWorld_OBJC_FILES = helloworld.m
include $(GNUSTEP_MAKEFILES)/tool.make
After the "make" commad, a sub folder "obj" has been created with the following items:
To run the Helloworld.exe, in the shell window, type "obj/Helloworld" and you'll see the "Hello world!" greeting in the shell window.
The above is not a very exciting example. How about changing the code and play with AppKit a bit:
#import <foundation foundation.h>
#import <appkit.h>
int main (void)
{
NSAutoreleasePool *pool = [NSAutoreleasePool new];
[NSApplication sharedApplication];
NSRunAlertPanel (@"Test", @"Hello world!", nil, nil, nil);
[pool drain];
return 0;
}The GNUMake file will also need to be modified:
include $(GNUSTEP_MAKEFILES)/common.make
APP_NAME = HelloWorld
HelloWorld_OBJC_FILES = helloworld.m
include $(GNUSTEP_MAKEFILES)/application.make
In the shell window, type "make clean" to cleanup the previous make, then "make".
To run the application, type "OpenApp Helloworld", and a message box will pop up:
Now I have a development environment and a running application - good progress!