龍芯8089D-Debian7 下搭建 Objective-C 編譯環境

龍芯8089D-Debian7 下搭建 Objective-C 編譯環境

目錄


簡單說明:Objective-C 的 C 文件後綴爲 .m,頭文件後綴爲 .h,例如咱們在本教程中的例程就是 main.mbash


安裝相關文件

須要安裝這些包:gccg++gobjcgnustepgnustep-develgnustep-gui-devlibgnustep-base-devui

安裝命令很簡單:命令行

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

可是每次輸入這麼多參數就有些繁瑣了,接下來咱們會把這一長串命令創建一個別名 aliasio

簡化命令行參數

創建別名的命令以下:編譯

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

相關文章
相關標籤/搜索