简单说明:Objective-C 的 C
文件后缀为 .m
,头文件后缀为 .h
,例如咱们在本教程中的例程就是 main.m
。bash
须要安装这些包:gcc
、g++
、gobjc
、gnustep
、gnustep-devel
、gnustep-gui-dev
、libgnustep-base-dev
。ui
安装命令很简单:命令行
apt-get install gcc g++ gobjc gnustep gnustep-devel gnustep-gui-dev libgnustep-base-dev
安装完毕以后就能够进行下一步了。code
不一样发行版的 Linux
下编译 Objective-C
的命令参数略有不一样,在 Debian
下须要这几个参数:教程
`gnustep-config --objc-flags` -fconstant-string-class=NSConstantString -lobjc -lgnustep-base
另外须要指定头文件(include文件)和库文件(lib文件)的位置,在 Debian
下,它们的位置分别为 /usr/include/GNUstep/
和 /usr/lib/GNUstep/
,参数以下:get
-I /usr/include/GNUstep/ -L /usr/lib/GNUstep/
把上述参数综合起来的编译命令以下:string
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
io
创建别名的命令以下:编译
alias objcc='gcc `gnustep-config --objc-flags` -fconstant-string-class=NSConstantString -lobjc -lgnustep-base -I /usr/include/GNUstep/ -L /usr/lib/GNUstep/'
要把这个命令保存到系统的 ~/.bashrc
文件中,很简单,把这条命令拷贝到 .bashrc
中就能够了,而后执行一下:class
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
下运行的可执行文件,还须要一些额外的交叉编译参数,这里就不详述了。