文档章节

龙芯8089D-Debian7 下搭建 Objective-C 编译环境

FreeBlues
 FreeBlues
发布于 2014/08/14 11:49
字数 575
阅读 357
收藏 1

龙芯8089D-Debian7 下搭建 Objective-C 编译环境

目录


简单说明:Objective-C 的 C 文件后缀为 .m,头文件后缀为 .h,例如我们在本教程中的例程就是 main.m


安装相关文件

需要安装这些包:gccg++gobjcgnustepgnustep-develgnustep-gui-devlibgnustep-base-dev

安装命令很简单:

apt-get install gcc g++ gobjc gnustep gnustep-devel gnustep-gui-dev libgnustep-base-dev

安装完毕之后就可以进行下一步了。

编译参数说明

不同发行版的 Linux 下编译 Objective-C 的命令参数略有不同,在 Debian 下需要这几个参数:

`gnustep-config --objc-flags`
-fconstant-string-class=NSConstantString
-lobjc
-lgnustep-base

另外需要指定头文件(include文件)和库文件(lib文件)的位置,在 Debian 下,它们的位置分别为 /usr/include/GNUstep//usr/lib/GNUstep/,参数如下:

-I /usr/include/GNUstep/
-L /usr/lib/GNUstep/

把上述参数综合起来的编译命令如下:

gcc `gnustep-config --objc-flags` -fconstant-string-class=NSConstantString -lobjc -lgnustep-base -I /usr/include/GNUstep/ -L /usr/lib/GNUstep/ -o main main.m

但是每次输入这么多参数就有些繁琐了,接下来我们会把这一长串命令建立一个别名 alias

简化命令行参数

建立别名的命令如下:

alias objcc='gcc `gnustep-config --objc-flags` -fconstant-string-class=NSConstantString -lobjc -lgnustep-base -I /usr/include/GNUstep/ -L /usr/lib/GNUstep/'

要把这个命令保存到系统的 ~/.bashrc 文件中,很简单,把这条命令拷贝到 .bashrc 中就可以了,然后执行一下:

source ~/.bashrc

以后编译 Objective-C 文件就可以使用别名 objcc 了,很简单:

objcc -o main main.m

注意:在这条别名命令里,分别使用了 单引号: ''反引号: `` ,千万不要混淆。

实际编译实例

最后就是以一个实际的 Objective-C 程序例子来说明,下面是我们的例程 main.m 的内容:

#import <Foundation/Foundation.h>
int main(int argc,const char * argv[])
{
	NSLog(@"hello world!");
	return(0);
}

把上述代码保存为 main.m,然后执行:

objcc -o main main.m

当前目录下就会生成一个名为 main 的可执行文件。

需要说明的是,这个可执行文件只能在 Debian 下运行,如果想在 Debian 下编译出能在 OSX 下运行的可执行文件,还需要一些额外的交叉编译参数,这里就不详述了。

© 著作权归作者所有

FreeBlues
粉丝 98
博文 280
码字总数 493678
作品 0
其它
程序员
私信 提问
让龙芯小本真正发挥作用-用8089D打造自己的Github服务器

让龙芯小本真正发挥作用-用8089D打造自己的Github服务器 目录 - 前言- 8089D的服务端配置- 任意一台电脑的客户端配置- .gitignore的过滤设置- 免输密码-git用户的鉴权配置 其他 前言 本文主要...

FreeBlues
2015/06/08
0
0
Debian6 下为当前系统制作U盘镜像恢复文件

使用了 www.bjlx.org.cn 下的 U 盘安装文件安装了 Debian6 http://anheng.com/loongson/install/ 如下文件:loongson2debian620111010.tar.lzma 安装好之后基本可用,无线上网也比较稳定,于...

FreeBlues
2014/07/11
0
0
WINDOWS 下搭建 OC 集成开发环境

Objective-C是苹果软件的编程语言,想要上机学习、调试,有一个集成开发环境(IDE)方便很多。有三类方法搭建Objective-C的集成开发环境: 1) 使用苹果的平台,集成开发环境使用Xcode。但如果...

卧龙小
2014/08/29
0
2
如何在Windows上编译Objective-C

Objective-C现在几乎已经变成了苹果的专利了,可以直接在苹果的Xcode上编译Objective-C程序,但是在Windows平台下的编译工具就寥寥无几了,本身这种语言用的人就不是很多。今天在网上突然看到...

xiahuawuyu
2012/07/21
0
5
勤为本/OpenLoongsonLib1c

龙芯1c库 这是一个封装了龙芯1c各种外设操作的库(类似于STM32的库),不断完善中... 龙芯1b和1c有很多相似和通用的地方,“龙芯1B库”和“龙芯1C库”可以相互借鉴,双击进入龙芯1B库的git 为...

勤为本
05/31
0
0

没有更多内容

加载失败,请刷新页面

加载更多

FPGA 设备 USB Platform Cable USB

lsusbFuture Technology Devices International, Ltd FT232H Single HS USB-UART/FIFO IC

MtrS
今天
4
0
lua web快速开发指南(6) - Cache、DB介绍

"数据库"与"缓存"的基本概念 数据库与缓存是服务端开发人员的必学知识点. 数据库 "数据库"是一种信息记录、存取的虚拟标记地点的集合统称. 比如现实生活中, 我们经常会用到文件柜、书桌等等数...

水果糖的小铺子
今天
7
0
Oracle分页查询语句的写法

Oracle分页查询语句的写法 Oracle分页查询语句使我们最常用的语句之一,下面就为您介绍的Oracle分页查询语句的用法,Oracle分页查询语句基本上可以按本文给出的格式来进行套用。   Oracle分...

康师傅
昨天
5
0
java并发图谱

1527
昨天
2
0
Mybatis之拦截器Interceptor

使用mybatis时用PageHelper进行分页,用到了PageInterceptor,借此了解下mybatis的interceptor。Mybatis的版本是3.4.6,MybatisHelper的版本是5.1.3。 1、PageInterceptor 先上一段代码,如下...

克虏伯
昨天
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部