windows 上用Sublime Text编译objective-c

来源:互联网 发布:淘宝类目分析表格ppt 编辑:程序博客网 时间:2024/05/11 18:06

本文我个人整理,逐步完善中。参考了很多大牛的知识,设计内容链接如下:

参考1:http://www.cnblogs.com/WhoJun/archive/2013/09/19/3330089.html

参考2:http://www.bubuko.com/infodetail-33011.html


配置环境所需资源下载:http://download.csdn.net/detail/u012370255/9424528


在windows 上编译OC是很纠结的一件事,建议去买个苹果本或者装个黑苹果。

实在不想买或者装得话,本文章是给初学objective-c用的,如果要深入objective-c,请购买苹果电脑或装黑苹果。

 

请看下面的步骤:

 

一、搭建objective-c环境

在windows上搭建objective-c开发环境,需要到GNUstep官网上下载几个软件(http://www.gnustep.org/experience/Windows.html)的相关安装包。

以下是要下的软件包:

GNUstep MSYS System  Required

GNUstep Core  Required

GNUstep Devel Optional

GNUstep Cairo

 

然后安装到任意目录~~不过要记得。对于后面步骤是很重要的。

 

 

在这里推荐一个软件,一个神级编辑器 Sublime Text (http://www.sublimetext.com/)

 

这个编辑器很强大,基本上能够识别全世界编程语言,我用了之后基本上抛弃了一些(例如editPlus等)编辑器。

 

建议下载安装,后面的编译运行方面可以省去绝大部分的操作。

 

二、用Sublime Text搭建编译环境

 

安装Sublime Text后,打开Sublime Text ,点击菜单–> Tools - > Build System – > New Build System ...

 

 

然后会打开一个文本,

 

将下面代码完全替换到里面,如果之前装在D:/根目录的仁兄,就不用修改下面代码

,如果不是请将之前你装的环境中的的目录替换下d:/GNUstep/GNUstep/System/Library/Headers

替换成你安装的目录

 

{
 
"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"]
 
    }
 
    ]
 
}

  

 

 

然后直接保存(保存时建议将文件命名为Objective-c)就行了~。

 

 

三、运行第一个hello world

 

先打开刚刚设置的编译文件点击菜单–> Tools - > Build System – > 刚刚取名的文件名

 

打开会在后面出现一个小钩钩,那集证明你编译是会运行这个编译文件。

 

先创建一个,以后代码的存放文件夹(一定要英文目录,中文目录不识别)

 

 

打开sublime 编辑器,创建一个文本,我们可以写一个简单的hello world

 

 

然后ctrl+s保存一下,后缀名该成 .m 文件,(.m 文件就是oc文件的后缀名)

 

就可以写oc的程序

 

这个编辑器,他的强大之处可以识别每个编程语言的后缀名,然后将他们的语法进行识别,增加对应的高亮效果,还有他的快捷键都相当迷人,快捷键就不说了。

 

写完程序后进行一下保存ctrl+s,然后ctrl+b进行编译,ctrl+shift+b运行。

然后下放就会出现一个编译和运行的信息框。

 

 

这就说明我们搭建的平台成功了。


四、常见问题

1、sublime text 2 调试python时结果空白

如果ctrl+b编译无结果,ctrl+shift+b运行也没有结果,请参看下边的解决方法,亲测可用:

之前用的时候都一切正常,今天突然就出现了这个问题。按ctrl+b执行的时候结果只有空白,查了很多文章都只提到了中文路径、系统路径等等,没有解决问题,直到看到了这篇文章:http://384444165.iteye.com/blog/1798107
文章中提到,Sublime Text 2  ctrl+b 如果出现运行为空白,按ctrl+`来显示错误,如果错误是UnicodeDecodeError: ‘ascii’ codec can’t decode byte 0xc0 in position 9: ordinal not in range(128),那么就和我遇到的情况一样了。
这个问题的起因是配置文件目录下Packages\Default目录下的exec.py在编辑环境变量,但是环境变量中的字符集缺少了ascii字符集。
解决方法如下:
找到配置文件目录位置(在sublime text 2中点Preference -> Browse Packages)在Default目录下找到exec.py,编辑;

找到以下两行:
        for k, v in proc_env.iteritems():
            proc_env[k] = os.path.expandvars(v).encode(sys.getfilesystemencoding())
更改为:
        for k, v in proc_env.iteritems():
            try:
                proc_env[k] = os.path.expandvars(v).encode(sys.getfilesystemencoding())
            except UnicodeDecodeError:
                print("Encoding error")
                print("VARIABLE: ", k, " : ", v)
就能够解决问题了。


0 0