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机子,只能先 ...
随机推荐
- MEF初体验之二:定义组合部件和契约
组合部件 在MEF中,一个组合部件就是一个组合单元,组合部件"出口"其它组合部件需要的服务并且从其它部件"进口"需要的服务.在MEF编程模型中,为了声明组合部件 ...
- Spark大师之路:广播变量(Broadcast)源代码分析
概述 近期工作上忙死了--广播变量这一块事实上早就看过了,一直没有贴出来. 本文基于Spark 1.0源代码分析,主要探讨广播变量的初始化.创建.读取以及清除. 类关系 BroadcastManage ...
- 1067: spark.components:NavigatorContent 类型值的隐式强制指令的目标是非相关类型 String
1.错误描写叙述 此行的多个标记: -workId -1067: spark.components:NavigatorContent 类型值的隐式强制指令的目标是非相关类型 String. 2.错误原 ...
- UVA10375 Choose and divide 质因数分解
质因数分解: Choose and divide Time Limit: 3000MS Memory Limit: Unknown 64bit IO Format: %lld & %l ...
- 警告: git command could not be found. Please create an alias or add it to yo
5 Answers active answertab=oldest#tab-top" title="Answers in the order they were provided& ...
- HDU 3081 Marriage Match II(二分法+最大流量)
HDU 3081 Marriage Match II pid=3081" target="_blank" style="">题目链接 题意:n个 ...
- UVa 208 - Firetruck 回溯+剪枝 数据
题意:构造出一张图,给出一个点,字典序输出所有从1到该点的路径. 裸搜会超时的题目,其实题目的数据特地设计得让图稠密但起点和终点却不相连,所以直接搜索过去会超时. 只要判断下起点和终点能不能相连就行了 ...
- iOS 生成随机颜色(UIColor)
#import <UIKit/UIKit.h> @interface UIColor (RandomColor) +(UIColor *) randomColor; @end #impor ...
- Caused by: java.lang.ClassNotFoundException: javax.transaction.TransactionManager
1.错误叙述性说明 usage: java org.apache.catalina.startup.Catalina [ -config {pathname} ] [ -nonaming ] { -h ...
- Oracle按不同时间分组统计
Oracle按不同时间分组统计 Oracle按不同时间分组统计的sql 如下表table1: 日期(exportDate) 数量(amount) -------------- ----------- ...