首页 > 代码库 > 龙芯8089D-Debian7 下搭建 Objective-C 编译环境
龙芯8089D-Debian7 下搭建 Objective-C 编译环境
龙芯8089D-Debian7 下搭建 Objective-C 编译环境
目录
- 安装相关文件
- 编译参数说明
- 简化命令行参数
- 实际编译实例
简单说明:Objective-C 的 C
文件后缀为 .m
,头文件后缀为 .h
,例如我们在本教程中的例程就是 main.m
。
安装相关文件
需要安装这些包:gcc
、g++
、gobjc
、gnustep
、gnustep-devel
、gnustep-gui-dev
、libgnustep-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
下运行的可执行文件,还需要一些额外的交叉编译参数,这里就不详述了。