GNUstep在win7的sublime下编译OC

1、安装GNUstep:

官网上写GNUstep需在MinGW下运行,但我原来装过MinGW,所以不知道如果不装的话,会有什么后果。

GNUstep runs on windows though the MinGW environment. Generated applications, even if targeted stand-alone, will require MinGW to run.
We recommend to install the whole MinGW ennvironment tailored already with GNUstep with the dedicated installer.

下载地址为:
GNUstep:Windows Installer

需下载以下四个软件包:
GNUstep在win7的sublime下编译OC_第1张图片

GNUstep MSYS System、GNUstep Core必须要安装的;
GNUstep Devel是安装一些开发工具,比如:gcc、g++等,所以如果是学习Objective C的话,这个包也是必须要安装;
Cairo是安装glib等库,这个包安装不安装根据具体情况而定。

P.S. glib库是Linux平台下最常用的C语言函数库,它具有很好的可移植性和实用性。glib可以在多个平台下使用,比如Linux、Unix、Windows等。glib为许多标准的、常用的C语言结构提供了相应的替代物。


2、配置ST:
下载完成,依次安装后开始搭环境。

打开Sublime Text ,点击菜单–> Tools - > Build System – > New Build System
GNUstep在win7的sublime下编译OC_第2张图片

替换为:

{

"cmd": ["gcc" , "-o" , "${file_base_name}.exe" , "${file_name}" , "-I", "d:/GNUstep/GNUstep/System/Library/Headers"  , "-L" , "d:/GNUstep/GNUstep/System/Library/Libraries" , "-std=c99" , "-lobjc", "-lgnustep-base"  , "-fconstant-string-class=NSConstantString"],

    //"file_regex": "^(..[^:]*):([0-9]+):?([0-9]+)?:? (.*)$",

    "working_dir": "$file_path",

    "shell":true,

    "selector": ["source.m","source.mm"],

    "variants":    [

    {

        "name": "Run",

        "working_dir": "${file_path}",

        "cmd": ["${file_base_name}.exe"]

    }

    ]

}

其中的”d:/GNUstep/GNUstep/System/Library/Headers”和”d:/GNUstep/GNUstep/System/Library/Headers”根据自己安装的具体情况定。
完成后保存在对应的”.\Sublime Text 3\Packages\User”下,名为:Objective-c.sublime-build。


3、Hello World:
接下来,写一个Hello World。
GNUstep在win7的sublime下编译OC_第3张图片

ctrl+shift+b 编译再运行。
GNUstep在win7的sublime下编译OC_第4张图片

运行结果:


P.P.S. 初学OC,还不太明白

NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];

这句话的原理。如果不加这句话会在运行的时候弹出其他意外提示(一开始我以为是error),查过之后发现有关IOS自动释放,不是错误。
自动释放原理详解

你可能感兴趣的:(基础知识)