Windows在结构objective C开发环境
对于近期打算iPhone、iPod touch和iPad开发一些应用程序,所以。需要开始学习Objective C(苹果推出的类似C语言的开发语言)。因为苹果的自我封闭的产业链发展模式(从芯片、机器、开发语言、终端产品、服务)的限制,要想开发针对苹果 iPhone等产品的应用程序,就须要用Mac机器,在Xcode的IDE上使用Objective C语言开发。
Mac机器就不用说了。那比PC机器要贵不少(当然性价比还是非常高的),所以,要想便宜方式学习Objective C就必须要在Windows上能搭建一个Objective
C开发环境。好了。不说废话了。
http://www.gnustep.org/experience/Windows.html
在Windows下搭建Objective C开发环境,须要到GNUstep官方站点上下载,四个软件包:GNUstep MSYS System、GNUstep Core、GNUstep Devel、Cairo
Backend。当中,前两个软件包是必需要安装的,第三个软件包是安装一些开发工具。比方:gcc、g++等,所以假设是学习Objective C的话。这个包也是必需要安装。第四个软件包是安装glib等库,这个包安装不安装依据详细情况而定。
至于GNUstep是什么东西,有什么用处,这里做个简单的介绍:GNUstep就是提供类似Cocoa(苹果OS的开发框架)的API和工具,眼下支持GNU/Linux and GNU/HURD, Solaris, NetBSD, OpenBSD, FreeBSD, Darwin和Windows,免费使用的。
这个项目使Objective C能在多数流行平台上开发和执行。
有关具体的介绍開始參考GNUstep的官方站点。
言归正传。下载上述软件包后,点击安装就能够了。然后。须要确认是否成功安装,而且能否成功编译Objective C代码。
在“開始”菜单中“全部程序”下能够找到“GNUstep” -> “shell”,就会出console窗体,能够试试一些Linux命令(ls,cd,mkdir等)。
编写一个Objective C代码进行编译执行測试。在这里就用经典的“hello world”来说明:
#import <Foundation/Foundation.h>
int main (int argc, const char *argv[]) {
NSAutoreleasePool *pool=[[NSAutoreleasePool alloc] init];
NSLog(@"Hello World!");
[pool drain];
return 0;
}
在Windows环境下用文本编辑器(Editplus,UE等),编写上述代码,而且保存到GNUstep安装文件夹下的/home下,取名为helloworld.m。在GNUstep的console窗体命令行下。
1、cd /home
2、gcc -o helloworld helloworld.m -I/GNUstep/System/Library/Headers -fconstant-string-class=NSConstantString -L/GNUstep/System/Library/Libraries -lobjc -lgnustep-base
3、执行helloworld.exe
说明:第二步中的一些參 数明说,假设熟悉Linux/Unix下C/C++编译的话,上述參数应该非常熟悉。-I表示头文件查找的路径,-L表示库文件查找路径。-l表示须要链接 的库文件。可是,-fconstant-string-class=NSConstantString 对于这个參数可能比較陌生,这个參数主要是指定常量字符串所使用的class。
改进:因为在GNUstep的窗体下不能复制,粘贴,手动打字easy出错,所以,能够写个shell脚本。取名为test.sh,内容例如以下:
gcc -o "$1" "$2" -I/GNUstep/System/Library/Headers -fconstant-string-class=NSConstantString -L/GNUstep/System/Library/Libraries -lobjc -lgnustep-base
然后和上面的一样,在GNUstep的console窗体命令行下
1、cd /home
2、sh test.sh helloworld helloworld.m
3、执行helloworld.exe
说明:test.sh中的$1 和 $2分别表示获取运行test.sh时传进来的第1个和第2个參数。然后通过sh test.sh helloworld helloworld.m就是运行test.sh脚本并传入两个參数,採用传參数的目的是让这个test.sh成为一个编译的模板,这样每次仅仅要传不同的參数就能够编译运行。
helloworld.exe编译并执行成功的话,说明windows下Objective C建立一个良好的发展环境,这可以通过学习,廉价的方式启动Objective C
版权声明:本文博客原创文章,博客,未经同意,不得转载。
Windows在结构objective C开发环境的更多相关文章
- Windows下搭建objective C开发环境
摘自:http://blog.csdn.net/zhanghefu/article/details/18320827 最近打算针对iPhone.iPod touch和iPad开发一些应用,所以,需要开 ...
- 大数据应用之Windows平台Hbase客户端Eclipse开发环境搭建
大数据应用之Windows平台Hbase客户端Eclipse开发环境搭建 大数据应用之Windows平台Hbase客户端Eclipse环境搭建-Java版 作者:张子良 版权所有,转载请注明出处 引子 ...
- Windows下搭建Spark+Hadoop开发环境
Windows下搭建Spark+Hadoop开发环境需要一些工具支持. 只需要确保您的电脑已装好Java环境,那么就可以开始了. 一. 准备工作 1. 下载Hadoop2.7.1版本(写Spark和H ...
- 【转】linux和windows下安装python集成开发环境及其python包
本系列分为两篇: 1.[转]windows和linux中搭建python集成开发环境IDE 2.[转]linux和windows下安装python集成开发环境及其python包 3.windows和l ...
- 用Windows+VirtualBox搭建嵌入式Linux开发环境
Windows+VirtualBox的嵌入式Linux开发环境的搭建 最近一直在学习Linux的设备驱动编写,一直是在物理机上安装的Ubuntu进行的,但是在Ubuntu12.04的系统中,已经不能用 ...
- Windows下的Objective-C集成开发环境(IDE)
Windows下的Objective-C集成开发环境(IDE) 分类: Objective-C2012-04-20 21:54 26631人阅读 评论(42) 收藏 举报 windowside编译器c ...
- windows下搭建nginx+php开发环境
windows下搭建nginx+php开发环境 1.前言 windows下大多我们都是下载使用集成环境,但是本地已经存在一个集成环境,但不适合项目的需求.因此准备再自己搭建一个环境. 2.准备 工具: ...
- 「C语言」在Windows平台搭建C语言开发环境的多种方式
新接触C语言,如何在Windows下进行C语言开发环境的搭建值得思考并整理. 以下多种开发方式择一即可(DEV C++无须环境准备). 注:本文知识来源于 Windows 平台搭建C语言集成开发环境 ...
- Windows下安装Object C开发环境,及Hello Word(转)
Windows下安装Object C开发环境,及Hello Word 最近想学习iphone开发,但是由于没有c基础,只有java基础.所以先从基础学习,首先是搭建环境,目前手头没有mac机子,只能先 ...
随机推荐
- Spring Framework 下载链接_现在有空
下载链接:http://repo.spring.io/libs-release-local/org/springframework/spring/ 点击打开链接 包括Spring的各个版本号: 3.2 ...
- ssis package 在调试状态中设置断点,程序 不进入断点 的解决方案
原文:ssis package 在调试状态中设置断点,程序 不进入断点 的解决方案 针对 SSIS intergation 项目 > 属性 > Debug >Run64bITRunt ...
- 更多RANK37
By LTL 经过对BDG长期的观察得出的这套理论,希望能对大家学习OI有所帮助. 入门篇 首先在掌握一门语言时(P,C都无所谓的),假设不习惯指针能够直接无视.语言之中对于入门选手来说最重要的递归. ...
- Rational Rose 2007使用小结
1.Rose怎样隐藏类的属性和操作? 右击类,选Options->Suppress Attributes/Suppress Operations 2.Rose怎样表示类的约束? 在工具箱中选AB ...
- 使用方便git命令检查记录的版本号
现在开始git大多数用户都经历过subversion,对于这两种开关的版本控制系统需要一段时间去适应.本文旨在帮助恢复一些,这些用户都熟悉的日志记录买家的习惯. 我们要熟悉一个详细的例子git中log ...
- Android GPS获取当前经纬度坐标
APP中可能会遇到一种需求,就是将当前所在位置的坐标传到server上,今天我提供三种途径去获取经纬度坐标信息,第一种是通过Android API来实现,另外一种通过百度地图API来实现,第三种通过天 ...
- jQuery.reveal弹出层使用
最近用到弹出层,还得自定义UI,原本用的artDialog太庞大,不合适了,于是就找到了这个东西,又小又好用,基础的弹出遮罩都有了,想要什么还不是Coder自己说了算. 这个插件是基于Jquery实现 ...
- SAP RFC 函数来创建 Java呼叫 学习总结 一步一步的插图
前言 该公司很快就接到了一个项目,SAP有接口.让我们做老大SAP.首先SAP联系.但发展从来没有打过.本周集中在这一个研究. 各种碰壁,SAP该系统让我怎么说? 算了.说多了都是泪,以下附上本周学习 ...
- Eclipse:引用一个项目作为库(图文教程)
前言:工程TestRoid要引用Volley项目作为一个库 过程,如下面: 一:选择导入Android工程 watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvc ...
- http headers
什么是HTTP Headers HTTP是“Hypertext Transfer Protocol”的所写,整个万维网都在使用这种协议,几乎你在浏览器里看到的大部分内容都是通过http协议来传输的,比 ...