给大家推荐一个NetCore+EFCore的快速开发框架

实战 Windows下搭建Objective-c的编译环境

本文的目的是讲如何在windows下搭建obj-c语言的开发环境,从而能在Windows下进行IOS程序的开发!

 

 

首先介绍个东西,它叫GNUstep,我的理解它就是个在windows下的obj-c编译器.

以下是它的组件的下载地址,需要下载的东西有:

1,GNUstep System

2,GNUstep Core

3,GNUstep Devel

4,Cairo Backend

下载完成之后,把它们按照1,2,3,4的顺序统一安装在D:\GnuStep下.

到此为止,你的电脑上已经可以编译obj-c文件了,首先建立一个obj-c的文件,新建一个记事本文件,内容是:

#import <Foundation/Foundation.h>

int main (int argc, const char *argv[])
{
    NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
    NSLog(@"%@",@"hello worldaa");
    [pool drain];
    return 0;
}

把它存在这个路径

D:\GNUstep\home\Administrator(将Administrator换成你当前windows用户名称),文件名就叫aa.m吧.

 

然后打开下图中的东西 :

 

打开后输入如下内容:

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

 

解释一下:

\-fconstant-string-class=NSConstantString 是说文件中的字符串是NSConstantString类型的,比如"HelloWorldaa".

\-I /GNUstep/System/Library/Headers/ 是从哪儿引入头文件.

\-L /GNUstep/System/Library/Libraries/ 是从哪儿引入链接库

\-lobjc 和\lgnustep-base是上边目录下的两个文件,只是这里没有写全名称,两个文件如下图

整个命令输入完成后如下:

现在按一下回车,会出现如下提示:

说明这个aa.m已经编译好了.下图是生成的exe文件:

直接输入aa按回车,结果如下图:

我也不知道为什么在前边加了一个执行的时间..反正后边的hello worldaa出来了.

如果每次编译一个文件都要输入这么多东西,是件很蛋疼的事....

木事,我有办法...

在D:\GNUstep\bin下用记事本建立一下文件,叫gcc.sh,内容如下:

#!/bin/sh
   
if [ $# -ne 1 ]; then
echo "Usage: $0 name"
exit 1
fi
   
gcc -g -o $1 $1.m \-fconstant-string-class=NSConstantString \-I /GNUstep/System/Library/Headers/ \-L /GNUstep/System/Library/Libraries/ \-lobjc \-fobjc-exceptions \-lgnustep-base \-fconstant-string-class=NSConstantString \-enable-auto-import
   
exit 0

附图:

保存之后,现在直接在shell里输入gcc.sh aa(扩展名都省了)回车

什么都不提示,也就是没有错误信息,现在在输入aa看看,还是输入的helloWorldaa,这是这次生成的呢还是上次用一大串命令生成的?...我们改下aa.m,把helloWorldaa换个其它的输出信息..随便输出什么都可以..就输出HelloYang...吧,重新编译并运行,效果如下图:

 

到此为止,这个编译环境就搭建好了,不过还有些缺点,就是用记事本写代码不怎么好用,关键字什么的都不换个颜色..

这时候,有个叫Code::Blocks的东西出现了.这东西很强大,它除了是一个编辑器外,还可以指定你在里边写的代码用哪个东西来编译它,并且要设置哪些关键字为高亮等等....写这工具的伙伴们充分让它是可扩展的,比如N年后出一个语言叫K语言,然后可以用Code::Blocks来编写K的代码,然后指定K语言的编译器就好.除此之外呢,Code::Blocks还是跨平台的,可以运行在包括但不限于Windows,Linux,FreeBSD,MAC OS X这些平台上,你可以百度百科看一下,最后一点,它是开源的.

这是它的下载地址:

http://sourceforge.net/projects/codeblocks.berlios/files/codeblocks-10.05mingw-setup.exe/download

我把它安装在

D:\Program Files\CodeBlocks 下.

它是英文的,这是汉化包的下载地址:

m1.mail.sina.com.cn/apps/netdisk/download.php?id=cd10a5edbdd1b367de6a03089c9b9ea3&c=c

打开汉化包后里边有说明文件告诉你怎么安装的.

 

到这里为止,我假定你已经安装好并汉化好了,现在我们来设置用它编写obj-c的环境.

1,打开 设置-->环境

出现下图:

 

选择 "文件扩展名处理"

点下边的新建,输入*.m并确定.

 

2,打开 设置--编译器和调试器

3,选择GNU CC Compiler,点复制,让输入新名称,输入GNUStep MinGW Compiler

 

4,选择刚刚新命名的这个东西,然后选择"其它选项",在里边输入

-fconstant-string-class=NSConstantString -std=c99

5,点"链接器设置",选择"添加",输入

D:\GNUstep\GNUstep\System\Library\Libraries\libobjc.dll.a

D:\GNUstep\GNUstep\System\Library\Libraries\libgnustep-base.dll.a

 

6,点"搜索路径"的"编译器"选项卡,为它添加一个搜索路径:

D:\GNUstep\GNUstep\System\Library\Headers

7,切到"连接器"选项卡,添加如下路径

D:\GNUstep\GNUstep\System\Library\Libraries

8,点"可执行工具链",输入这个路径:

D:\GNUstep\mingw\bin

后点确定.

或者直接点"自动侦测"也可以.

 

9,点 项目-->项目树-->编辑文件类型&类别

出现下图,选择source,在下边输入*.m;后点确定.

10,点设置-->环境-->编辑器

选择"语法高亮"

选择 "文件掩码",输入*.m,点确定

 选择"关键字".

输入以下内容

@interface @implementation @end @class @selector @protocol @public @protected @private id BOOL YES NO SEL nil NULL self

然后确定.

点完外边的确定之后,环境我们就设置好了,下边我们建立一个项目试试;

 

 

 

 

 

把默认的main.cpp改名成main.m

 

双击它,把里边的代码换成我们之前的aa.m里的代码

 

下边是关键的一步...

 

右键 main.m-->属性-->构建,将里边的Release和debug都选中

 

点这个"构建并运行"的按钮,

 就出现运行的效果了:

 

 

OK,到此为止,在Windows下搭建Objective-C的编辑和编译环境就完成了,如果你发现有什么不对的地方,请与我QQ联系,553030761.

posted @ 2012-09-19 11:51  hexllo  阅读(446)  评论(2编辑  收藏  举报

给大家推荐一个NetCore+EFCore的快速开发框架