標籤:http java 使用 os io 檔案 ar cti
龍芯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
下啟動並執行可執行檔,還需要一些額外的交叉編譯參數,這裡就不詳述了。