Ubuntu下搭建Objective C环境简易指南

第一次听说Objective
C可以在非Apple机器上写的时候完全震惊了。于是自己分别在Windows和Ubuntu上进行了尝试,Windows上面没有搭建成功,Ubuntu上历经千辛万苦终于成功了。绝对要把过程记录下来。

在Ubuntu下面搭建Xcode之外的环境,得依靠GNUStep。网上有很多教程,但是很多都是错的,或者是因为版本太老,已经无效了。很多人没有经过验证就拿来转贴,实在是捉急。本文所述的方法,在Ubuntu
14.04 LTS版本下验证有效。

1)首先安装gnustep-devel。可以通过sudo apt-get install gnustep
gnustep-devel安装,但是更好的解决办法是通过新立得软件包管理器安装,如果没有装新立得,在Ubuntu软件中心搜索“新立得软件包管理器”安装即可。
完成之后,打开新立得软件包管理器,搜索gnustep-
devel,右键标记以便安装,他会提示你要安装一些依赖包,确认即可。

2)安装完成之后,接下来是最关键的一步,也就是gnustep-make的环境变量的配置。与Windows不同,配置Ubuntu的环境变量是视你所用的shell不同而不同的。一般Ubuntu默认的shell是bash,那么就在用户主目录下的.bashrc文件配置。如果用的是其他的shell,比如zsh之类的,那么在.zshrc文件里面配置,以此类推。以下以bash为例。

如果在命令行模式下,输入ls -a,找到.bashrc,用vim或者其他的编辑器打开,在文件的最后加上如下几行:(#开头的一行为注释)


1 #set GNUstep
2 GNUSTEP_ROOT=/usr/share/GNUstep
3 export GNUSTEP_ROOT
4 source /usr/share/GNUstep/Makefiles/GNUstep.sh

如果不加上这几行的话,在编译Objective C的源代码的时候会提示/common.make,/tool.make找不到等情况。

3)在任意目录下,新建一个后缀名为.m的文件。*.m的文件是Objective C的源文件,*.mm是Objective
C++的源文件。我们以一个简单的helloworld程序为例。

1 vim hello.m

4)helloworld的源代码如下:


1 #import<Foundation/Foundation.h>
2
3 int main(int argc, char *argv[]){
4 NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];
5 NSLog(@"Hello World!");
6 [pool drain];
7 return 0;
8 }

5)在同一个目录下建立一个无后缀名的文件叫GNUmakefile,注意大小写。内容如下:


1 include $(GNUSTEP_MAKEFILES)/common.make
2
3 TOOL_NAME = hello
4 hello_OBJC_FILES = hello.m
5
6 include $(GNUSTEP_MAKEFILES)/tool.make

当然可以把hello换成你新建的项目的名称。其中hello.m是刚刚创建的源文件名。

6)命令行cd到刚刚的目录下,执行make即可。可以看到目录下多出了一个名为obj的目录,其中便有名为hello的执行文件。

1 cd obj
2 ./hello

若看到命令行正常输出Hello World!说明环境搭建成功。

时间: 2024-11-10 17:33:42

Ubuntu下搭建Objective C环境简易指南的相关文章

ubuntu下搭建android开发环境之超顺畅模拟器

如果说android系统的卡,像耳边蚊子让人抓狂,那么android模拟器的卡,那就像午睡时的苍蝇.大概就是一样的恶心~~ 那么,这样的问题对于开发者肯定忍无可忍,我也一样,虽然我还没有入门,但我也一样纠结,为什么会这么卡??这么卡?我是i5 4G内存啊~~ 解决: 第一种解决方法(也算是比较直接,比较烧包的办法): 用真机调试~方法上篇文章有谈论,请看ubuntu下搭建android开发环境: 烧包原因:我不能兼容每个系统版本,每种型号机器,每种屏幕大小,都去搞台真机对吧~ 第二种解决方法:

cocos2d-x-2.2.3在Windows7和Ubuntu下搭建桌面开发环境(非Android环境)

要cocos2d-x-2.2.3搭建环境需要有以下的几个基本要求:(在我的小本本上) 1.一个操作系统(Win7或Ubuntu[只在这两个系统下测试过]): 2.在Win7下需要的是VS2010以上的版本(我用的是VS2012,虽然我不想用VS,但是现在我还没有办法不用IDE就编译代码),在Ubuntu下不需要,然后安装好VS2012,我没有安装那个VS2012.4的更新照样没事: 3.Python开发环境:(这个跟正常配置一样,一路Next再把Python安装目录(我用的2.7.x,因此是C:

ubuntu下搭建android开发环境(四)核心篇安装AndroidStudio、sdk、jdk(by 星空武哥)

转载请标注原创地址:http://blog.csdn.net/lsyz0021/article/details/52215996 所有的软件均在ubuntu 14.04 LTS下测试 ubuntu下搭建android开发环境(一)安装ubuntu系统 ubuntu下搭建android开发环境(二)设置ubuntu的root管理员密码 ubuntu下搭建android开发环境(三)ubuntu安装搜狗输入法 ubuntu下搭建android开发环境(四)核心篇安装AndroidStudio.sdk

ubuntu下搭建android开发环境(一)安装ubuntu系统(by 星空武哥)

    转载请标注原创地址:http://blog.csdn.net/lsyz0021/article/details/52187026 ubuntu下搭建android开发环境(一)安装ubuntu系统 ubuntu下搭建android开发环境(二)设置ubuntu的root管理员密码 ubuntu下搭建android开发环境(三)ubuntu安装搜狗输入法 虽说已经有很多ubuntu的安装教程了,但是今天我还是要写一篇这样的文章,因为这篇文章是为了在ubuntu下搭载android开发环境所

Ubuntu 下搭建 Android 开发环境

网上的N多教程全是Windows平台的,而Google官网是推荐用Ubuntu开发Android,很多朋友也是用Linux的系统开发的,下面我介绍下在Linux下Android开发环镜的搭建. 一.Linux 下安装配置 JDK 自从Oracle收购Sun近三年来,已经有很多变化.早在8月,甲骨文将"Operating System Distributor License for Java"许可证终结,这意味着第三方将不可以依据这一许可分发他们的软件包.因此Ubuntu Linux已经

Ubuntu下搭建Robotframework+Selenium环境

最近已经从Windows系统转到了Ubuntukylin下面,所以测试工具也需要重新安装,今天就和大家分享下安装过程. 我使用的环境:Ubuntu Kylin 14.04 64位系统. 开始了吧,首先还是要安装Python,这里我用的是Python2.7,这个可以去官网下载,安装过程这里就不再赘述了. 我采用的是在线安装: 1.安装pip, sudo apt-get install python-pip 2.安装robotframework, sudo pip install robotfram

ubuntu下搭建erlang编程环境

ubuntu下搭建erlang编程环境 - 阿杜的世界 - 博客频道 - CSDN.NET 吐槽:erlang作为一门小众语言,编程环境配置的我发疯啊,官方标配是emacs,但是我作为中毒已深的vimer实在不想换编辑器了,在尝试的途中我还试过了用eclipse的插件erlide,但是,当我耗掉很多人品,忍受了奇慢的网速装好之后,使用它编写erlang代码,然后运行...然后就卡死了死了:心里一万个草泥马翻滚啊. 前提:ubuntu 和  vim使用基本熟练(关于vim最近也有所收获,感觉终于可

ubuntu下搭建JAVA开发环境【转】

转自:http://jingyan.baidu.com/article/86fae346b696633c49121a30.html JAVA开发环境是一种跨平台的程序设计语言,可以在windows.LINUX等操作系统上进行开发.小编以前是做LINUX C开发的,最近因为工作,需要在UBUNTU下进行java开发环境的搭建,故写下这篇经验,和大家共享.参考.本篇经验分四步: 1)下载JDK 2)下载eclipse 3 ) 安装JDK 4)安装eclipse 工具/原料 UBUNTU eclips

Ubuntu下搭建JAVA运行环境

(一)Linux操作系统安装(详细信息参见:http://my.oschina.net/u/1458864/blog/366665)1.安装Oracle VM VirtualBox2.安装vagrant3.下载box4.vagrant添加box到虚拟机中(http://my.oschina.net/u/1458864/blog/366665)    初始化vagrant:vagrant init(详细信息参见vagrant的配置说明)    向vagrant中添加box:vagrant box