1. 搭建GNUStep
下载地址: http://www.gnustep.org/experience/Windows.html
在这里下载,GNUstep MSYS System,GNUstep Core,GNUstep Devel,直接按默认装好。
2.安装Object-C的集成开发环境
选择用CodeBlocks IDE作为Objective-C的集成开发环境,下载地址是:Code::Blocks - Code::Blocks
codeblocks汉化包
链接: 百度网盘 请输入提取码 提取码: 8awp
操作比较简单,基本下载完后,解压放文件名改为locate,放到C:\Program Files\CodeBlocks\share\CodeBlocks即可(根据自己目录)
在设置调一下重新进来就可以了
3.配置开发环境
直接参考官方文档即可,除了没有配图挺详细的
Installing Objective-C Compiler - Code::Blocks
第一步:配置编译器
进入Settings->Compiler anddebugger...,选择GNU GCC Compiler编译器,按“Copy”按钮,并重新命名为“GNUstep MinGW Compiler“并保存。如图:
之后进入Other Options分页,录入:
-fconstant-string-class=NSConstantString -std=c99如图:
第二步:连接器设置 Linkerstettings
在连接库(Link Libraries)中添加两个文件,如图。
它们在D:\GNUstep\GNUstep\System\Library\Libraries下面:
libgnustep-base.dll.a
libobjc.dll.a
第三步:指定搜索目录Searchdirectories(需要预先安装好GNUstep)
1)Compiler(编译器)设置为D:\GNUstep\GNUstep\System\Library\Headers;
2)Linker(连接器)设置为D:\GNUstep\GNUstep\System\Library\Libraries;
第四步:添加Objective-C文件类型支持
1)进入Settings->Environment...,选择Files extension handling添加*.m。如
2)进入Project->Projecttree->Edit file types & categories...,在Sources,下面添加*.m到文件类型列表中(需要先创建一个项目才能进去配置)。如图:
3)进入Settings->Editor...,选择Syntaxhighlighting,点击“Filemasks....”按钮,在弹出框尾部添加*.m到文件类型。如图:
4)点击“Keywords...”按钮(紧靠Filemasks...按钮)添加下面Object-C的关键字到EditKeywords列表中。如图。
@interface @implementation @end @class @selector @protocol @public @protected @private id BOOL YES NO SEL nil NULL self |
这里需要注意一下,可能会自动选错路径,最好自己手动添加路径,GNUstep安装主路径即可
4.代码测试
上述开发环境配置完成后,就可以开始代码测试了。
首先,新建一个工程,选择File->New->Project…,会出现一个工程类型窗口,选择Console Application,然后按照工程建立指引,建立一个mytest的工程,并将main.c的文件更名为main.m,录入以下代码:
#import<Foundation/Foundation.h>
intmain (intargc,constchar*argv[])
{
NSAutoreleasePool *pool =[[NSAutoreleasePool alloc] init];
NSLog(@"%@",@"hello world");
[pool drain];
return0;
}
如图:
测试2
#import <stdlib.h>
#import "TestObject.h"
int main(int argc, char** argv)
{
TestObject *aTestObject = [[TestObject alloc] init];
printf("Initial Value: %d\n", [aTestObject value]);
printf("+45 Value: %d\n", [aTestObject add: 45]);
printf("-63 Value: %d\n", [aTestObject subtract: 63]);
[aTestObject add: 103];
printf("+103 Value: %d\n", [aTestObject value]);
return (EXIT_SUCCESS);
}
#import <objc/Object.h>
@interface TestObject : Object
{
int internalInt;
}
- (int)add:(int)anInt;
- (int)subtract:(int)anInt;
- (int)value;
@end
#import "TestObject.h"
@implementation TestObject
- (id)init
{
if ((self = [super init]))
{
internalInt = 0;
}
return self;
}
- (int)add:(int)anInt
{
internalInt += anInt;
return internalInt;
}
- (int)subtract:(int)anInt
{
internalInt -= anInt;
return internalInt;
}
- (int)value
{
return internalInt;
}
@end
之后再开始编译运行:Buid –> Run…如果出现以下窗口,恭喜你,你已经成功的搭建了Windows下的Objective-C的集成开发环境。
重要笔记
1) 默认情况下,C::B 将选择CPP作为新源文件的默认编译器变量,该文件不会被编译或链接到目标。每当您在项目中添加或创建新的 ObjC 源 ( *.m ) 时,您必须右键单击它并转到Properties...。在高级下,将编译器变量更改为CC。在Build下,选择Compile file和Link file。在关闭对话框之前,转到常规并取消选中文件是只读的. 当您更改其他选项时,这将自动被选中,如果您在取消选中之前关闭对话框,则必须返回并更改它,然后在查看器中关闭并重新打开文件,然后才能对其进行编辑。
2)添加头文件(*.h)时,您还需要打开其属性窗口并将编译器变量更改为CC。你不需要对它做任何其他事情。
参考:WINDOWS 下搭建 OC 集成开发环境 - 五本百源 - 博客园
官方文档:Installing Objective-C Compiler - Code::Blocks