簡單說明: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
下運行的可執行文件,還須要一些額外的交叉編譯參數,這裏就不詳述了。